pindo 5.4.1 → 5.5.1

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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pindo/client/aws3sclient.rb +2 -2
  3. data/lib/pindo/client/httpclient.rb +1 -2
  4. data/lib/pindo/command/android/autobuild.rb +40 -18
  5. data/lib/pindo/command/android/build.rb +37 -16
  6. data/lib/pindo/command/android/debug.rb +34 -20
  7. data/lib/pindo/command/appstore/iap.rb +15 -1
  8. data/lib/pindo/command/appstore/itcapp.rb +15 -1
  9. data/lib/pindo/command/appstore/metadata.rb +15 -1
  10. data/lib/pindo/command/appstore/screenshots.rb +15 -1
  11. data/lib/pindo/command/appstore/upload.rb +15 -1
  12. data/lib/pindo/command/deploy/build.rb +35 -20
  13. data/lib/pindo/command/deploy/bundleid.rb +15 -1
  14. data/lib/pindo/command/deploy/cert.rb +19 -2
  15. data/lib/pindo/command/deploy/check.rb +15 -1
  16. data/lib/pindo/command/deploy/configproj.rb +15 -1
  17. data/lib/pindo/command/deploy/confusecode.rb +15 -1
  18. data/lib/pindo/command/deploy/confuseproj.rb +11 -1
  19. data/lib/pindo/command/deploy/fabric.rb +10 -1
  20. data/lib/pindo/command/deploy/getitcinfo.rb +11 -1
  21. data/lib/pindo/command/deploy/iap.rb +12 -1
  22. data/lib/pindo/command/deploy/initconfig.rb +11 -1
  23. data/lib/pindo/command/deploy/itcinfo.rb +12 -1
  24. data/lib/pindo/command/deploy/pullconfig.rb +11 -1
  25. data/lib/pindo/command/deploy/pushconfig.rb +11 -1
  26. data/lib/pindo/command/deploy/quswark.rb +12 -1
  27. data/lib/pindo/command/deploy/quswauth.rb +10 -1
  28. data/lib/pindo/command/deploy/reportbug.rb +11 -1
  29. data/lib/pindo/command/deploy/resign.rb +12 -1
  30. data/lib/pindo/command/deploy/updateconfig.rb +11 -1
  31. data/lib/pindo/command/deploy/uploadipa.rb +11 -1
  32. data/lib/pindo/command/env/dreamstudio.rb +13 -1
  33. data/lib/pindo/command/env/quarkenv.rb +13 -1
  34. data/lib/pindo/command/env/swarkenv.rb +13 -1
  35. data/lib/pindo/command/env/workhard.rb +13 -1
  36. data/lib/pindo/command/gplay/iap.rb +21 -5
  37. data/lib/pindo/command/gplay/itcapp.rb +19 -5
  38. data/lib/pindo/command/gplay/metadata.rb +23 -5
  39. data/lib/pindo/command/gplay/screenshots.rb +23 -5
  40. data/lib/pindo/command/gplay/upload.rb +21 -5
  41. data/lib/pindo/command/gplay.rb +8 -8
  42. data/lib/pindo/command/ios/adhoc.rb +18 -3
  43. data/lib/pindo/command/ios/autobuild.rb +22 -7
  44. data/lib/pindo/command/ios/autoresign.rb +18 -3
  45. data/lib/pindo/command/ios/build.rb +18 -4
  46. data/lib/pindo/command/ipa/autoresign.rb +35 -4
  47. data/lib/pindo/command/ipa/import.rb +19 -1
  48. data/lib/pindo/command/ipa/output.rb +39 -4
  49. data/lib/pindo/command/{pgyer → jps}/apptest.rb +35 -24
  50. data/lib/pindo/command/jps/bind.rb +191 -0
  51. data/lib/pindo/command/{pgyer → jps}/comment.rb +19 -19
  52. data/lib/pindo/command/{pgyer → jps}/download.rb +20 -20
  53. data/lib/pindo/command/{pgyer → jps}/login.rb +9 -9
  54. data/lib/pindo/command/{pgyer → jps}/resign.rb +40 -25
  55. data/lib/pindo/command/{pgyer → jps}/upload.rb +60 -43
  56. data/lib/pindo/command/jps.rb +18 -0
  57. data/lib/pindo/command/lib/forcepush.rb +15 -1
  58. data/lib/pindo/command/lib/push.rb +15 -1
  59. data/lib/pindo/command/lib/update.rb +15 -1
  60. data/lib/pindo/command/repo/clone.rb +11 -1
  61. data/lib/pindo/command/repo/create.rb +13 -1
  62. data/lib/pindo/command/repo/login.rb +14 -3
  63. data/lib/pindo/command/repo/search.rb +14 -2
  64. data/lib/pindo/command/unity/apk.rb +14 -28
  65. data/lib/pindo/command/unity/autobuild.rb +13 -13
  66. data/lib/pindo/command/unity/ipa.rb +15 -29
  67. data/lib/pindo/command/unity/web.rb +15 -15
  68. data/lib/pindo/command/utils/boss.rb +19 -2
  69. data/lib/pindo/command/utils/clearcert.rb +18 -2
  70. data/lib/pindo/command/utils/device.rb +19 -2
  71. data/lib/pindo/command/utils/icon.rb +20 -2
  72. data/lib/pindo/command/utils/renewcert.rb +28 -3
  73. data/lib/pindo/command/utils/renewproj.rb +25 -2
  74. data/lib/pindo/command/utils/tgate.rb +28 -3
  75. data/lib/pindo/command/utils/xcassets.rb +20 -2
  76. data/lib/pindo/command/web/autobuild.rb +18 -3
  77. data/lib/pindo/command.rb +1 -1
  78. data/lib/pindo/module/pgyer/pgyerhelper.rb +185 -85
  79. data/lib/pindo/version.rb +1 -1
  80. metadata +30 -12
  81. data/lib/pindo/client/pgyer_feishu_oauth_cli.rb +0 -669
  82. data/lib/pindo/client/pgyerclient.rb +0 -466
  83. data/lib/pindo/client/pgyeruploadclient.rb +0 -517
  84. 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 'pindo/client/pgyerclient'
8
- # require 'pindo/client/aws3sclient'
9
- require 'pindo/client/pgyeruploadclient'
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 = PgyerClient.new
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["appName"])
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["appName"]}"
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 = PgyerUploadClient.new
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.post_app_update_binary(appId:app_info_obj["appId"], params:{
308
+ result_data = @pgyer_client.upload_project_package(projectId:app_info_obj["id"], params:{
288
309
  description: description,
289
- s3Url: upload_res,
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(appId:nil, appVersionId:nil, chatEnv: nil, receiveType:nil)
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
- Funlog.instance.fancyinfo_start("正在发送飞书消息...")
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
- if !result.nil? && result["code"] == 200 && result["data"] == "success"
323
- Funlog.instance.fancyinfo_success("测试信息已经发送飞书!")
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
- Funlog.instance.fancyinfo_error("未发送飞书测试信息!")
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(msg_data:nil, wechat_url:nil)
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 !wechat_msg_url.nil? && wechat_msg_url.length >1
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
- download_url = msg_data[:download_url]
348
- app_name = msg_data[:app_name]
349
- download_password = msg_data[:download_password]
350
- bundle_id = msg_data[:bundle_id]
351
- app_version = msg_data[:app_version]
352
- index_num = msg_data[:index_num]
353
- upload_time = msg_data[:time]
354
- description = msg_data[:description]
355
- msg_from = msg_data[: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(msg_data:nil)
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
- qrcode = RQRCode::QRCode.new(msg_data[:download_url])
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 "#{msg_data[:app_name]} 测试"
434
- puts "Bundle Id: #{msg_data[:bundle_id]}"
435
- puts "版本号: #{msg_data[:app_version]} build: #{msg_data[:index_num]}"
436
- puts "安装密码: #{msg_data[:download_password]}"
437
- puts "上传时间: #{msg_data[:time]}"
438
- puts "链接: #{msg_data[:download_url]}"
439
- puts "说明: #{msg_data[:description]}"
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
- app_info_item_name = app_info_item["appName"].to_s.downcase.strip.gsub(/[\s\-_]/, '')
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(appId:nil, app_version_index:nil, latest_version:true)
592
+ def get_app_version(projectId:nil, app_version_index:nil, latest_version:true, package_type:nil)
468
593
 
469
- version_data = @pgyer_client.get_app_version_list_req(appId:appId)
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.get_app_list_req(params:params)
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.get_app_list_req(params:params)
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
- appId = app_info_obj["appId"]
526
- # puts "appId #{appId}"
527
- version_data = @pgyer_client.get_app_version_list_req(appId:appId) || {}
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["appVersion"] + "(build " + item["build"] + " )",
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.post_update_upload_comment(appId:app_info_obj["appId"], id:version_item_obj["id"], comment:comment_str.strip)
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(version_id:nil, cert_id:nil)
833
+ def resign(package_id:nil, cert_id:nil)
701
834
 
702
835
  Funlog.instance.fancyinfo_start("正在重签名...")
703
- result = @pgyer_client.post_resign(appVersionId:version_id, certId:cert_id)
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
@@ -6,7 +6,7 @@ require 'time'
6
6
 
7
7
  module Pindo
8
8
 
9
- VERSION = "5.4.1"
9
+ VERSION = "5.5.1"
10
10
 
11
11
  class VersionCheck
12
12
  RUBYGEMS_API = 'https://rubygems.org/api/v1/gems/pindo.json'
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.1
4
+ version: 5.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - wade
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-09-19 00:00:00.000000000 Z
10
+ date: 2025-09-23 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: 1.0.0
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: 1.0.0
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - "~>"
127
+ - !ruby/object:Gem::Version
128
+ version: 1.0.0
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: 1.0.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