common.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. const chalk = require('chalk');
  2. const clear = require('clear');
  3. const figlet = require('figlet');
  4. const fs = require('fs')
  5. var pjson = require('../package.json');
  6. const fetch = require('node-fetch');
  7. var shell = require('shelljs');
  8. const logger = require('perfect-logger');
  9. const Language = require("@shypes/language-translator");
  10. const globalVariables = require('../lib/globalVars');
  11. module.exports = {
  12. header: async (page) => {
  13. clear();
  14. console.log(
  15. chalk.red(
  16. figlet.textSync('MiWatch Kleaner', {
  17. horizontalLayout: 'full'
  18. })
  19. )
  20. );
  21. console.log(chalk.red(' ' + pjson.version));
  22. console.log();
  23. console.log(
  24. chalk.red(
  25. '-------------------------------------------------------------------------------------------------------'
  26. )
  27. )
  28. console.log(chalk.blue(await Language.get(page)))
  29. module.exports.connectionCheck()
  30. console.log(chalk.red('----------'))
  31. },
  32. pause: async (time) => {
  33. await new Promise(resolve => setTimeout(resolve, time));
  34. },
  35. connectionCheck: async () => {
  36. if (globalVariables.localUSB === "X") {
  37. console.log(chalk.white('MiWatch: ') + chalk.green(await Language.get('connected-via-usb')))
  38. }
  39. if (globalVariables.miWatchIpaddress != "") {
  40. console.log(chalk.white('MiWatch: ') + chalk.green(await Language.get('connected-via-wifi') + ' ' + chalk.white(globalVariables.miWatchIpaddress)))
  41. }
  42. if (globalVariables.localUSB === "" && globalVariables.miWatchIpaddress === "") {
  43. console.log(chalk.white('MiWatch: ') + chalk.red(await Language.get('not-connected')))
  44. }
  45. },
  46. downloadFile: async (url, path) => {
  47. const res = await fetch(url);
  48. await new Promise((resolve, reject) => {
  49. const fileStream = fs.createWriteStream(path);
  50. res.body.pipe(fileStream);
  51. res.body.on("error", (err) => {
  52. reject(err);
  53. });
  54. fileStream.on("finish", function () {
  55. resolve();
  56. });
  57. });
  58. },
  59. getCompatibleAppsList: async () => {
  60. let settings = { method: "Get" };
  61. const response = await fetch("http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/compatibleApps.json", settings)
  62. .then(res => res.json())
  63. return response
  64. },
  65. clearApkFolder: async () => {
  66. await shell.rm('-rf', './data/apps/*.apk');
  67. },
  68. log: async (item) => {
  69. logger.info(await Language.get(item, 'en'))
  70. },
  71. print: async (item, colour) => {
  72. switch (colour) {
  73. case 'green':
  74. console.log(chalk.green(await Language.get(item)))
  75. break;
  76. case 'red':
  77. console.log(chalk.redBright(await Language.get(item)))
  78. break;
  79. case 'whiteBright':
  80. console.log(chalk.whiteBright(await Language.get(item)))
  81. break;
  82. default:
  83. console.log(chalk.white(await Language.get(item)))
  84. break;
  85. }
  86. },
  87. dualLog: async (item, colour) => {
  88. await module.exports.log(item)
  89. await module.exports.print(item, colour)
  90. }
  91. }