manifest.config.ts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  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.1.2',
  26. 'versionCode': '112',
  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. androidStyle: 'default',
  51. android: {
  52. hdpi: 'src/static/app/start/start-480.png',
  53. xhdpi: 'src/static/app/start/start-720.png',
  54. xxhdpi: 'src/static/app/start/start-1080.png',
  55. },
  56. },
  57. /* 模块配置 */
  58. modules: {
  59. Share: {},
  60. Camera: {},
  61. Push: {},
  62. },
  63. /* 应用发布信息 */
  64. distribute: {
  65. /* android打包配置 */
  66. android: {
  67. minSdkVersion: 30,
  68. targetSdkVersion: 30,
  69. abiFilters: ['armeabi-v7a', 'arm64-v8a'],
  70. permissions: [
  71. '<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>',
  72. '<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>',
  73. '<uses-permission android:name="android.permission.VIBRATE"/>',
  74. '<uses-permission android:name="android.permission.READ_LOGS"/>',
  75. '<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>',
  76. '<uses-feature android:name="android.hardware.camera.autofocus"/>',
  77. '<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>',
  78. '<uses-permission android:name="android.permission.CAMERA"/>',
  79. '<uses-permission android:name="android.permission.GET_ACCOUNTS"/>',
  80. '<uses-permission android:name="android.permission.READ_PHONE_STATE"/>',
  81. '<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>',
  82. '<uses-permission android:name="android.permission.WAKE_LOCK"/>',
  83. '<uses-permission android:name="android.permission.FLASHLIGHT"/>',
  84. '<uses-feature android:name="android.hardware.camera"/>',
  85. '<uses-permission android:name="android.permission.WRITE_SETTINGS"/>',
  86. ],
  87. },
  88. /* ios打包配置 */
  89. ios: {
  90. idfa: false,
  91. },
  92. /* SDK配置 */
  93. sdkConfigs: {},
  94. /* 图标配置 */
  95. icons: {
  96. android: {
  97. hdpi: 'src/static/app/icons/72x72.png',
  98. xhdpi: 'src/static/app/icons/96x96.png',
  99. xxhdpi: 'src/static/app/icons/144x144.png',
  100. xxxhdpi: 'src/static/app/icons/192x192.png',
  101. },
  102. ios: {
  103. appstore: 'src/static/app/icons/1024x1024.png',
  104. ipad: {
  105. 'app': 'src/static/app/icons/76x76.png',
  106. 'app@2x': 'src/static/app/icons/152x152.png',
  107. 'notification': 'src/static/app/icons/20x20.png',
  108. 'notification@2x': 'src/static/app/icons/40x40.png',
  109. 'proapp@2x': 'src/static/app/icons/167x167.png',
  110. 'settings': 'src/static/app/icons/29x29.png',
  111. 'settings@2x': 'src/static/app/icons/58x58.png',
  112. 'spotlight': 'src/static/app/icons/40x40.png',
  113. 'spotlight@2x': 'src/static/app/icons/80x80.png',
  114. },
  115. iphone: {
  116. 'app@2x': 'src/static/app/icons/120x120.png',
  117. 'app@3x': 'src/static/app/icons/180x180.png',
  118. 'notification@2x': 'src/static/app/icons/40x40.png',
  119. 'notification@3x': 'src/static/app/icons/60x60.png',
  120. 'settings@2x': 'src/static/app/icons/58x58.png',
  121. 'settings@3x': 'src/static/app/icons/87x87.png',
  122. 'spotlight@2x': 'src/static/app/icons/80x80.png',
  123. 'spotlight@3x': 'src/static/app/icons/120x120.png',
  124. },
  125. },
  126. },
  127. },
  128. uniStatistics: {
  129. enable: true,
  130. },
  131. nativePlugins: {
  132. 'EL-MTPush': {
  133. MTPUSH_ADVERTISINGID_IOS: '',
  134. MTPUSH_APPKEY_ANDROID: '474b121831f9c027f15d6d32',
  135. MTPUSH_APPKEY_IOS: '',
  136. MTPUSH_CHANNEL_ANDROID: '',
  137. MTPUSH_CHANNEL_IOS: '',
  138. MTPUSH_DEFAULTINIT_IOS: '',
  139. MTPUSH_GOOGLE_API_KEY: '',
  140. MTPUSH_GOOGLE_APP_ID: '',
  141. MTPUSH_GOOGLE_PROJECT_ID: '',
  142. MTPUSH_GOOGLE_PROJECT_NUMBER: '',
  143. MTPUSH_GOOGLE_STORAGE_BUCKET: '',
  144. MTPUSH_HONOR_APPID: '',
  145. MTPUSH_HUAWEI_APPID: '',
  146. MTPUSH_ISPRODUCTION_IOS: '',
  147. MTPUSH_MEIZU_APPID: '',
  148. MTPUSH_MEIZU_APPKEY: '',
  149. MTPUSH_OPPO_APPID: '',
  150. MTPUSH_OPPO_APPKEY: '',
  151. MTPUSH_OPPO_APPSECRET: '',
  152. MTPUSH_PROCESS_ANDROID: '',
  153. MTPUSH_VIVO_APPID: '',
  154. MTPUSH_VIVO_APPKEY: '',
  155. MTPUSH_XIAOMI_APPID: '',
  156. MTPUSH_XIAOMI_APPKEY: '',
  157. __plugin_info__: {
  158. name: 'EngageLab MTPush 官方SDK',
  159. description: 'EngageLab MTPush官方SDK HBuilder插件版本',
  160. platforms: 'Android,iOS',
  161. url: 'https://ext.dcloud.net.cn/plugin?id=10093',
  162. android_package_name: 'com.bandhu.mm',
  163. ios_bundle_id: '',
  164. isCloud: true,
  165. bought: 1,
  166. pid: '10093',
  167. parameters: {
  168. MTPUSH_ADVERTISINGID_IOS: {
  169. des: '[iOS]广告标识符(IDFA)如果不需要使用IDFA,可不填',
  170. key: 'MTPush:ADVERTISINGID',
  171. value: '',
  172. },
  173. MTPUSH_APPKEY_ANDROID: {
  174. des: '[Android]EngageLab portal配置应用信息时分配的AppKey',
  175. key: '',
  176. value: '',
  177. },
  178. MTPUSH_APPKEY_IOS: {
  179. des: '[iOS]EngageLab portal配置应用信息时分配的AppKey',
  180. key: 'MTPush:APP_KEY',
  181. value: '',
  182. },
  183. MTPUSH_CHANNEL_ANDROID: {
  184. des: '[Android]用于统计分发渠道,不需要可填默认值developer-default',
  185. key: '',
  186. value: '',
  187. },
  188. MTPUSH_CHANNEL_IOS: {
  189. des: '[iOS]用于统计分发渠道,不需要可填默认值developer-default',
  190. key: 'MTPush:CHANNEL',
  191. value: '',
  192. },
  193. MTPUSH_DEFAULTINIT_IOS: {
  194. des: '[iOS]是否默认初始化,是填true,不是填false或者不填',
  195. key: 'MTPush:DEFAULTINIT',
  196. value: '',
  197. },
  198. MTPUSH_GOOGLE_API_KEY: {
  199. des: '厂商google api_key,示例:G-asxa1232',
  200. key: 'google_api_key',
  201. value: '',
  202. },
  203. MTPUSH_GOOGLE_APP_ID: {
  204. des: '厂商google mobilesdk_app_id,示例:G-12346578',
  205. key: 'google_app_id',
  206. value: '',
  207. },
  208. MTPUSH_GOOGLE_PROJECT_ID: {
  209. des: '厂商google project_id ,示例:G-12346578',
  210. key: 'project_id',
  211. value: '',
  212. },
  213. MTPUSH_GOOGLE_PROJECT_NUMBER: {
  214. des: '厂商google project_number,示例:G-12346578',
  215. key: 'gcm_defaultSenderId',
  216. value: '',
  217. },
  218. MTPUSH_GOOGLE_STORAGE_BUCKET: {
  219. des: '厂商google storage_bucket,示例:G-12346578',
  220. key: 'google_storage_bucket',
  221. value: '',
  222. },
  223. MTPUSH_HONOR_APPID: {
  224. des: '厂商HONOR-appId,示例:12345678',
  225. key: '',
  226. value: '',
  227. },
  228. MTPUSH_HUAWEI_APPID: {
  229. des: '厂商HUAWEI-appId,示例:appid=12346578',
  230. key: 'com.huawei.hms.client.appid',
  231. value: '',
  232. },
  233. MTPUSH_ISPRODUCTION_IOS: {
  234. des: '[iOS]是否是生产环境,是填true,不是填false或者不填',
  235. key: 'MTPush:ISPRODUCTION',
  236. value: '',
  237. },
  238. MTPUSH_MEIZU_APPID: {
  239. des: '厂商MEIZU-appId,示例:MZ-12345678',
  240. key: '',
  241. value: '',
  242. },
  243. MTPUSH_MEIZU_APPKEY: {
  244. des: '厂商MEIZU-appKey,示例:MZ-12345678',
  245. key: '',
  246. value: '',
  247. },
  248. MTPUSH_OPPO_APPID: {
  249. des: '厂商OPPO-appId,示例:OP-12345678',
  250. key: '',
  251. value: '',
  252. },
  253. MTPUSH_OPPO_APPKEY: {
  254. des: '厂商OPPO-appkey,示例:OP-12345678',
  255. key: '',
  256. value: '',
  257. },
  258. MTPUSH_OPPO_APPSECRET: {
  259. des: '厂商OPPO-appSecret,示例:OP-12345678',
  260. key: '',
  261. value: '',
  262. },
  263. MTPUSH_PROCESS_ANDROID: {
  264. des: '[Android] Engagelab process,Engagelabsdk工作所在的进程,请填写 \':remote\', 注意:开头',
  265. key: '',
  266. value: '',
  267. },
  268. MTPUSH_VIVO_APPID: {
  269. des: '厂商VIVO-appId,示例:12345678',
  270. key: '',
  271. value: '',
  272. },
  273. MTPUSH_VIVO_APPKEY: {
  274. des: '厂商VIVO-appkey,示例:12345678',
  275. key: '',
  276. value: '',
  277. },
  278. MTPUSH_XIAOMI_APPID: {
  279. des: '厂商XIAOMI-appId,示例:MI-12345678',
  280. key: '',
  281. value: '',
  282. },
  283. MTPUSH_XIAOMI_APPKEY: {
  284. des: '厂商XIAOMI-appKey,示例:MI-12345678',
  285. key: '',
  286. value: '',
  287. },
  288. },
  289. },
  290. },
  291. },
  292. },
  293. /* 快应用特有相关 */
  294. 'quickapp': {
  295. uniStatistics: {
  296. enable: false,
  297. },
  298. },
  299. /* 小程序特有相关 */
  300. 'mp-weixin': {
  301. appid: VITE_WX_APPID,
  302. setting: {
  303. urlCheck: false,
  304. // 是否启用 ES6 转 ES5
  305. es6: true,
  306. minified: true,
  307. },
  308. optimization: {
  309. subPackages: true,
  310. },
  311. usingComponents: true,
  312. uniStatistics: {
  313. enable: false,
  314. },
  315. // __usePrivacyCheck__: true,
  316. },
  317. 'mp-alipay': {
  318. usingComponents: true,
  319. styleIsolation: 'shared',
  320. uniStatistics: {
  321. enable: false,
  322. },
  323. },
  324. 'mp-baidu': {
  325. usingComponents: true,
  326. uniStatistics: {
  327. enable: false,
  328. },
  329. },
  330. 'mp-toutiao': {
  331. usingComponents: true,
  332. uniStatistics: {
  333. enable: false,
  334. },
  335. },
  336. 'app-harmony': {
  337. uniStatistics: {
  338. enable: false,
  339. },
  340. },
  341. 'mp-harmony': {
  342. uniStatistics: {
  343. enable: false,
  344. },
  345. },
  346. 'mp-jd': {
  347. uniStatistics: {
  348. enable: false,
  349. },
  350. },
  351. 'mp-kuaishou': {
  352. uniStatistics: {
  353. enable: false,
  354. },
  355. },
  356. 'mp-lark': {
  357. uniStatistics: {
  358. enable: false,
  359. },
  360. },
  361. 'mp-qq': {
  362. uniStatistics: {
  363. enable: false,
  364. },
  365. },
  366. 'mp-xhs': {
  367. uniStatistics: {
  368. enable: false,
  369. },
  370. },
  371. 'uniStatistics': {
  372. enable: false, // 全局开启
  373. version: '2', // 开启新版uni统计,值为字符串
  374. },
  375. 'vueVersion': '3',
  376. })