manifest.config.ts 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. import path from 'node:path'
  2. import process from 'node:process'
  3. // manifest.config.ts
  4. import { defineManifestConfig } from '@uni-helper/vite-plugin-uni-manifest'
  5. import { loadEnv } from 'vite'
  6. // 手动解析命令行参数获取 mode
  7. function getMode() {
  8. const args = process.argv.slice(2)
  9. const modeFlagIndex = args.findIndex(arg => arg === '--mode')
  10. return modeFlagIndex !== -1 ? args[modeFlagIndex + 1] : args[0] === 'build' ? 'production' : 'development' // 默认 development
  11. }
  12. // 获取环境变量的范例
  13. const env = loadEnv(getMode(), path.resolve(process.cwd(), 'env'))
  14. const {
  15. VITE_APP_TITLE,
  16. VITE_UNI_APPID,
  17. VITE_WX_APPID,
  18. VITE_APP_PUBLIC_BASE,
  19. VITE_FALLBACK_LOCALE, // 默认系统语言
  20. } = env
  21. export default defineManifestConfig({
  22. 'name': VITE_APP_TITLE,
  23. 'appid': VITE_UNI_APPID,
  24. 'description': '',
  25. 'versionName': '1.0.0',
  26. 'versionCode': '100',
  27. 'transformPx': false,
  28. 'locale': VITE_FALLBACK_LOCALE === 'bn' ? 'bn' : 'en', // 此app需默认英文
  29. 'fallbackLocale': 'en',
  30. 'h5': {
  31. router: {
  32. base: VITE_APP_PUBLIC_BASE,
  33. },
  34. uniStatistics: {
  35. enable: false,
  36. },
  37. },
  38. /* 5+App特有相关 */
  39. 'app-plus': {
  40. usingComponents: true,
  41. nvueStyleCompiler: 'uni-app',
  42. compilerVersion: 3,
  43. compatible: {
  44. ignoreVersion: true,
  45. },
  46. splashscreen: {
  47. alwaysShowBeforeRender: true,
  48. waiting: true,
  49. autoclose: true,
  50. delay: 0,
  51. },
  52. /* 模块配置 */
  53. modules: {
  54. Share: {},
  55. Camera: {},
  56. Push: {},
  57. },
  58. /* 应用发布信息 */
  59. distribute: {
  60. /* android打包配置 */
  61. android: {
  62. minSdkVersion: 30,
  63. targetSdkVersion: 30,
  64. abiFilters: ['armeabi-v7a', 'arm64-v8a'],
  65. permissions: [
  66. '<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>',
  67. '<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>',
  68. '<uses-permission android:name="android.permission.VIBRATE"/>',
  69. '<uses-permission android:name="android.permission.READ_LOGS"/>',
  70. '<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>',
  71. '<uses-feature android:name="android.hardware.camera.autofocus"/>',
  72. '<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>',
  73. '<uses-permission android:name="android.permission.CAMERA"/>',
  74. '<uses-permission android:name="android.permission.GET_ACCOUNTS"/>',
  75. '<uses-permission android:name="android.permission.READ_PHONE_STATE"/>',
  76. '<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>',
  77. '<uses-permission android:name="android.permission.WAKE_LOCK"/>',
  78. '<uses-permission android:name="android.permission.FLASHLIGHT"/>',
  79. '<uses-feature android:name="android.hardware.camera"/>',
  80. '<uses-permission android:name="android.permission.WRITE_SETTINGS"/>',
  81. ],
  82. },
  83. /* ios打包配置 */
  84. ios: {},
  85. /* SDK配置 */
  86. sdkConfigs: {},
  87. /* 图标配置 */
  88. icons: {
  89. android: {
  90. hdpi: 'src/static/app/icons/72x72.png',
  91. xhdpi: 'src/static/app/icons/96x96.png',
  92. xxhdpi: 'src/static/app/icons/144x144.png',
  93. xxxhdpi: 'src/static/app/icons/192x192.png',
  94. },
  95. ios: {
  96. appstore: 'src/static/app/icons/1024x1024.png',
  97. ipad: {
  98. 'app': 'src/static/app/icons/76x76.png',
  99. 'app@2x': 'src/static/app/icons/152x152.png',
  100. 'notification': 'src/static/app/icons/20x20.png',
  101. 'notification@2x': 'src/static/app/icons/40x40.png',
  102. 'proapp@2x': 'src/static/app/icons/167x167.png',
  103. 'settings': 'src/static/app/icons/29x29.png',
  104. 'settings@2x': 'src/static/app/icons/58x58.png',
  105. 'spotlight': 'src/static/app/icons/40x40.png',
  106. 'spotlight@2x': 'src/static/app/icons/80x80.png',
  107. },
  108. iphone: {
  109. 'app@2x': 'src/static/app/icons/120x120.png',
  110. 'app@3x': 'src/static/app/icons/180x180.png',
  111. 'notification@2x': 'src/static/app/icons/40x40.png',
  112. 'notification@3x': 'src/static/app/icons/60x60.png',
  113. 'settings@2x': 'src/static/app/icons/58x58.png',
  114. 'settings@3x': 'src/static/app/icons/87x87.png',
  115. 'spotlight@2x': 'src/static/app/icons/80x80.png',
  116. 'spotlight@3x': 'src/static/app/icons/120x120.png',
  117. },
  118. },
  119. },
  120. },
  121. uniStatistics: {
  122. enable: true,
  123. },
  124. },
  125. /* 快应用特有相关 */
  126. 'quickapp': {
  127. uniStatistics: {
  128. enable: false,
  129. },
  130. },
  131. /* 小程序特有相关 */
  132. 'mp-weixin': {
  133. appid: VITE_WX_APPID,
  134. setting: {
  135. urlCheck: false,
  136. // 是否启用 ES6 转 ES5
  137. es6: true,
  138. minified: true,
  139. },
  140. optimization: {
  141. subPackages: true,
  142. },
  143. usingComponents: true,
  144. uniStatistics: {
  145. enable: false,
  146. },
  147. // __usePrivacyCheck__: true,
  148. },
  149. 'mp-alipay': {
  150. usingComponents: true,
  151. styleIsolation: 'shared',
  152. uniStatistics: {
  153. enable: false,
  154. },
  155. },
  156. 'mp-baidu': {
  157. usingComponents: true,
  158. uniStatistics: {
  159. enable: false,
  160. },
  161. },
  162. 'mp-toutiao': {
  163. usingComponents: true,
  164. uniStatistics: {
  165. enable: false,
  166. },
  167. },
  168. 'app-harmony': {
  169. uniStatistics: {
  170. enable: false,
  171. },
  172. },
  173. 'mp-harmony': {
  174. uniStatistics: {
  175. enable: false,
  176. },
  177. },
  178. 'mp-jd': {
  179. uniStatistics: {
  180. enable: false,
  181. },
  182. },
  183. 'mp-kuaishou': {
  184. uniStatistics: {
  185. enable: false,
  186. },
  187. },
  188. 'mp-lark': {
  189. uniStatistics: {
  190. enable: false,
  191. },
  192. },
  193. 'mp-qq': {
  194. uniStatistics: {
  195. enable: false,
  196. },
  197. },
  198. 'mp-xhs': {
  199. uniStatistics: {
  200. enable: false,
  201. },
  202. },
  203. 'uniStatistics': {
  204. enable: false, // 全局开启
  205. version: '2', // 开启新版uni统计,值为字符串
  206. },
  207. 'vueVersion': '3',
  208. })