setting.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. const fs = require('fs');
  2. const args = process.argv.slice(2)[0];
  3. const filesToModify = ['./src/manifest.json', './src/pages.json'];
  4. filesToModify.forEach((file) => {
  5. fs.readFile(file, 'utf8', function (err, data) {
  6. if (err) throw err;
  7. let cleanedData = data.replace(/\/\/.*|\/\*[\s\S]*?\*\//g, '');// 使用正则表达式去除单行注释
  8. let state = JSON.parse(cleanedData);// 解析JSON数据
  9. if (file == './src/manifest.json') {
  10. var icons = state["app-plus"].distribute.icons
  11. var push = state["app-plus"].distribute.sdkConfigs.push
  12. if (args === 'huiYi') {
  13. state.name = '智能会议'
  14. state.appid = '__UNI__F3963F8'
  15. state.description = '智能会议APP,是一款集成了现代信息技术和智能化管理功能的移动应用程序,旨在提升会议体验和管理效率。'
  16. state.versionName = "1.0.5"
  17. state.versionCode = 5
  18. state.h5.title = '智能会议'
  19. icons.android = {
  20. "hdpi": "unpackage/res/icons/72x72.png",
  21. "xhdpi": "unpackage/res/icons/96x96.png",
  22. "xxhdpi": "unpackage/res/icons/144x144.png",
  23. "xxxhdpi": "unpackage/res/icons/192x192.png"
  24. }
  25. icons.ios.appstore = "unpackage/res/icons/1024x1024.png"
  26. icons.ios.ipad = {
  27. "app": "unpackage/res/icons/76x76.png",
  28. "app@2x": "unpackage/res/icons/152x152.png",
  29. "notification": "unpackage/res/icons/20x20.png",
  30. "notification@2x": "unpackage/res/icons/40x40.png",
  31. "proapp@2x": "unpackage/res/icons/167x167.png",
  32. "settings": "unpackage/res/icons/29x29.png",
  33. "settings@2x": "unpackage/res/icons/58x58.png",
  34. "spotlight": "unpackage/res/icons/40x40.png",
  35. "spotlight@2x": "unpackage/res/icons/80x80.png"
  36. }
  37. icons.ios.iphone = {
  38. "app@2x": "unpackage/res/icons/120x120.png",
  39. "app@3x": "unpackage/res/icons/180x180.png",
  40. "notification@2x": "unpackage/res/icons/40x40.png",
  41. "notification@3x": "unpackage/res/icons/60x60.png",
  42. "settings@2x": "unpackage/res/icons/58x58.png",
  43. "settings@3x": "unpackage/res/icons/87x87.png",
  44. "spotlight@2x": "unpackage/res/icons/80x80.png",
  45. "spotlight@3x": "unpackage/res/icons/120x120.png"
  46. }
  47. push.unipush.icons.small = {
  48. "hdpi": "unpackage/res/push/36x36.png",
  49. "ldpi": "unpackage/res/push/18x18.png",
  50. "mdpi": "unpackage/res/push/24x24.png",
  51. "xhdpi": "unpackage/res/push/48x48.png",
  52. "xxhdpi": "unpackage/res/push/72x72.png"
  53. }
  54. } else if (args === 'menJin') {
  55. state.name = '智能门禁'
  56. state.appid = '__UNI__8D6E9FD'
  57. state.description = '智能门禁APP,是一款集成了现代信息技术和智能化管理功能的移动应用程序。'
  58. state.versionName = "1.1.6"
  59. state.versionCode = 16
  60. state.h5.title = '智能门禁'
  61. icons.android = {
  62. "hdpi": "unpackage/res/icons/72x72.png",
  63. "xhdpi": "unpackage/res/icons/96x96.png",
  64. "xxhdpi": "unpackage/res/icons/144x144.png",
  65. "xxxhdpi": "unpackage/res/icons/192x192.png"
  66. }
  67. icons.ios.appstore = "unpackage/res/icons/1024x1024.png"
  68. icons.ios.ipad = {
  69. "app": "unpackage/res/icons/76x76.png",
  70. "app@2x": "unpackage/res/icons/152x152.png",
  71. "notification": "unpackage/res/icons/20x20.png",
  72. "notification@2x": "unpackage/res/icons/40x40.png",
  73. "proapp@2x": "unpackage/res/icons/167x167.png",
  74. "settings": "unpackage/res/icons/29x29.png",
  75. "settings@2x": "unpackage/res/icons/58x58.png",
  76. "spotlight": "unpackage/res/icons/40x40.png",
  77. "spotlight@2x": "unpackage/res/icons/80x80.png"
  78. }
  79. icons.ios.iphone = {
  80. "app@2x": "unpackage/res/icons/120x120.png",
  81. "app@3x": "unpackage/res/icons/180x180.png",
  82. "notification@2x": "unpackage/res/icons/40x40.png",
  83. "notification@3x": "unpackage/res/icons/60x60.png",
  84. "settings@2x": "unpackage/res/icons/58x58.png",
  85. "settings@3x": "unpackage/res/icons/87x87.png",
  86. "spotlight@2x": "unpackage/res/icons/80x80.png",
  87. "spotlight@3x": "unpackage/res/icons/120x120.png"
  88. }
  89. push.unipush.icons.small = {
  90. "hdpi": "unpackage/res/push/36x36.png",
  91. "ldpi": "unpackage/res/push/18x18.png",
  92. "mdpi": "unpackage/res/push/24x24.png",
  93. "xhdpi": "unpackage/res/push/48x48.png",
  94. "xxhdpi": "unpackage/res/push/72x72.png"
  95. }
  96. }
  97. } else if ('./src/pages.json') {
  98. state.pages.forEach((e, index) => {
  99. if (args === 'huiYi') {
  100. if (e.style.navigationBarTitleText === "智能会议") {
  101. if (index != 0) {
  102. state.pages.splice(0, 1, ...state.pages.splice(index, 1, state.pages[0]))
  103. }
  104. }
  105. state.condition.list[0].path = "pages/meeting/index"
  106. } else if (args === 'menJin') {
  107. if (e.style.navigationBarTitleText === "门禁识别") {
  108. if (index != 0) {
  109. state.pages.splice(0, 1, ...state.pages.splice(index, 1, state.pages[0]))
  110. }
  111. }
  112. state.condition.list[0].path = "pages/door/index"
  113. }
  114. })
  115. }
  116. // 将修改后的对象转换回JSON字符串
  117. const updated = JSON.stringify(state, null, 4);
  118. // 写入新的配置到manifest.json
  119. fs.writeFile(file, updated, 'utf8', function (err) {
  120. if (err) throw err;
  121. console.log(file + ' updated successfully');
  122. });
  123. });
  124. })