import path from 'node:path' import process from 'node:process' // manifest.config.ts import { defineManifestConfig } from '@uni-helper/vite-plugin-uni-manifest' import { loadEnv } from 'vite' // 手动解析命令行参数获取 mode 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' // 默认 development } // 获取环境变量的范例 const env = loadEnv(getMode(), path.resolve(process.cwd(), 'env')) const { VITE_APP_TITLE, 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': '', 'versionName': '1.0.0', 'versionCode': '100', 'transformPx': false, 'locale': VITE_FALLBACK_LOCALE, // 'zh-Hans' 'h5': { router: { // base: VITE_APP_PUBLIC_BASE, }, }, /* 5+App特有相关 */ 'app-plus': { usingComponents: true, nvueStyleCompiler: 'uni-app', compilerVersion: 3, compatible: { ignoreVersion: true, }, splashscreen: { alwaysShowBeforeRender: true, waiting: true, autoclose: true, delay: 0, }, /* 模块配置 */ modules: {}, /* 应用发布信息 */ distribute: { /* android打包配置 */ android: { minSdkVersion: 30, targetSdkVersion: 30, abiFilters: ['armeabi-v7a', 'arm64-v8a'], permissions: [ '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ], }, /* ios打包配置 */ ios: {}, /* SDK配置 */ sdkConfigs: {}, /* 图标配置 */ icons: { android: { }, ios: { }, }, }, }, /* 快应用特有相关 */ 'quickapp': {}, /* 小程序特有相关 */ 'mp-weixin': { appid: VITE_WX_APPID, setting: { urlCheck: false, // 是否启用 ES6 转 ES5 es6: true, minified: true, }, optimization: { subPackages: true, }, usingComponents: true, permission: { 'scope.userLocation': { desc: '你的位置信息将用于小程序位置接口的效果展示', }, }, requiredPrivateInfos: ['getLocation'], // __usePrivacyCheck__: true, }, 'mp-alipay': { usingComponents: true, styleIsolation: 'shared', }, 'mp-baidu': { usingComponents: true, }, 'mp-toutiao': { usingComponents: true, }, 'uniStatistics': { enable: false, }, 'vueVersion': '3', })