下载目录工具更新.jlxproj 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. local rootDir = cfg.rootDir;
  2. local pkgman = rootDir .. "/pkgman.exe";
  3. local req_pkgs = {"pkgman2"};
  4. local check_prog = {pkgman};
  5. local missing_pkgs = {};
  6. for k, v in pairs(req_pkgs) do
  7. if cfg:utilsGetPkg(v) == nil then
  8. table.insert(missing_pkgs, v)
  9. end
  10. end
  11. for k, v in pairs(missing_pkgs) do table.insert(check_prog, v) end
  12. if #missing_pkgs ~= 0 then
  13. if (cfg:runProg(check_prog) ~= 0) then
  14. cfg:msgBox("warn", "软件包不是最新,可能会出现问题");
  15. end
  16. end
  17. local pkgman2 = cfg:utilsGetPkg("pkgman2").run;
  18. local check_ret = cfg:runProg({pkgman2, "-b", rootDir, "--update"});
  19. if check_ret == 1 then
  20. os.exit(0);
  21. end
  22. if check_ret ~= 0 then
  23. cfg:msgBox("warn", "软件包不是最新,可能会出现问题");
  24. end
  25. -- params
  26. local product_name = "-";
  27. local dest_dir = cfg.dir;
  28. local req_local_pkgs = {
  29. "fwadd", "isddownload", "ufwmaker",
  30. };
  31. local check_local_prog = {pkgman2, "-b", dest_dir};
  32. local missing_local_pkgs = {};
  33. for k, v in pairs(req_local_pkgs) do
  34. if cfg:utilsGetPkg(v) == nil then
  35. table.insert(missing_local_pkgs, v)
  36. end
  37. end
  38. for k, v in pairs(req_local_pkgs) do table.insert(check_local_prog, v); end
  39. if (cfg:runProg(check_local_prog) ~= 0) then
  40. cfg:msgBox("warn", "软件包不是最新,可能会出现问题");
  41. end
  42. local layout = cfg:vBox{
  43. cfg:stButton("查看当前本地软件版本", function ()
  44. cfg:runProg{pkgman2, "-b", dest_dir};
  45. end),
  46. cfg:stButton("检查更新", function ()
  47. local check_prog = {pkgman2, "-b", dest_dir};
  48. for k, v in pairs(req_local_pkgs) do table.insert(check_prog, v) end
  49. if (cfg:runProg(check_prog) ~= 0) then
  50. cfg:msgBox("warn", "软件包不是最新,可能会出现问题");
  51. else
  52. cfg:msgBox("info", "已经是最新");
  53. end
  54. end),
  55. }
  56. cfg:addKeyInfo("jlxproj.title", "检查更新");
  57. cfg:addKeyInfo("jlxproj.width", "300");
  58. cfg:addKeyInfo("jlxproj.height", "200");
  59. cfg:setLayout(layout)