import { fileURLToPath, URL } from 'node:url' import process from 'node:process' import { defineManifestConfig } from '@uni-helper/vite-plugin-uni-manifest' import { loadEnv } from 'vite' function getMode() { const args = process.argv.slice(2) const modeFlagIndex = args.findIndex(arg => arg === '--mode') return modeFlagIndex !== -1 ? args[modeFlagIndex + 1] : args[0] === 'build' ? 'production' : 'development' } const envDir = fileURLToPath(new URL('./env', import.meta.url)) const env = loadEnv(getMode(), envDir) const { VITE_APP_TITLE, VITE_APP_DESC, VITE_UNI_APPID, VITE_WX_APPID, VITE_APP_PUBLIC_BASE, VITE_FALLBACK_LOCALE, } = env export default defineManifestConfig({ 'name': VITE_APP_TITLE, 'appid': VITE_UNI_APPID, 'description': VITE_APP_DESC, 'versionName': '1.0.0', 'versionCode': '100', 'transformPx': false, 'locale': VITE_FALLBACK_LOCALE, 'h5': { router: { base: VITE_APP_PUBLIC_BASE, }, }, 'app-plus': { usingComponents: true, nvueStyleCompiler: 'uni-app', compilerVersion: 3, compatible: { ignoreVersion: true, }, splashscreen: { alwaysShowBeforeRender: true, waiting: true, autoclose: true, delay: 0, }, modules: {}, distribute: { android: { minSdkVersion: 21, targetSdkVersion: 30, abiFilters: ['armeabi-v7a', 'arm64-v8a'], permissions: [ '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ], }, ios: {}, sdkConfigs: {}, icons: { android: { hdpi: 'static/app/icons/72x72.png', xhdpi: 'static/app/icons/96x96.png', xxhdpi: 'static/app/icons/144x144.png', xxxhdpi: 'static/app/icons/192x192.png', }, ios: { appstore: 'static/app/icons/1024x1024.png', ipad: { 'app': 'static/app/icons/76x76.png', 'app@2x': 'static/app/icons/152x152.png', 'notification': 'static/app/icons/20x20.png', 'notification@2x': 'static/app/icons/40x40.png', 'proapp@2x': 'static/app/icons/167x167.png', 'settings': 'static/app/icons/29x29.png', 'settings@2x': 'static/app/icons/58x58.png', 'spotlight': 'static/app/icons/40x40.png', 'spotlight@2x': 'static/app/icons/80x80.png', }, iphone: { 'app@2x': 'static/app/icons/120x120.png', 'app@3x': 'static/app/icons/180x180.png', 'notification@2x': 'static/app/icons/40x40.png', 'notification@3x': 'static/app/icons/60x60.png', 'settings@2x': 'static/app/icons/58x58.png', 'settings@3x': 'static/app/icons/87x87.png', 'spotlight@2x': 'static/app/icons/80x80.png', 'spotlight@3x': 'static/app/icons/120x120.png', }, }, }, }, }, 'quickapp': {}, 'mp-weixin': { appid: VITE_WX_APPID, setting: { urlCheck: false, es6: true, minified: true, }, optimization: { subPackages: true, }, mergeVirtualHostAttributes: true, usingComponents: true, }, 'mp-alipay': { usingComponents: true, styleIsolation: 'shared', optimization: { subPackages: true, }, compileOptions: { globalObjectMode: 'enable', transpile: { script: { ignore: ['node_modules/**'], }, }, }, }, 'mp-baidu': { usingComponents: true, }, 'mp-toutiao': { usingComponents: true, }, 'uniStatistics': { enable: false, }, 'vueVersion': '3', })