130 lines
3.7 KiB
TypeScript
130 lines
3.7 KiB
TypeScript
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: [
|
|
'<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>',
|
|
'<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>',
|
|
'<uses-permission android:name="android.permission.VIBRATE"/>',
|
|
'<uses-permission android:name="android.permission.READ_LOGS"/>',
|
|
'<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>',
|
|
'<uses-feature android:name="android.hardware.camera.autofocus"/>',
|
|
'<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>',
|
|
'<uses-permission android:name="android.permission.CAMERA"/>',
|
|
'<uses-permission android:name="android.permission.GET_ACCOUNTS"/>',
|
|
'<uses-permission android:name="android.permission.READ_PHONE_STATE"/>',
|
|
'<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>',
|
|
'<uses-permission android:name="android.permission.WAKE_LOCK"/>',
|
|
'<uses-permission android:name="android.permission.FLASHLIGHT"/>',
|
|
'<uses-feature android:name="android.hardware.camera"/>',
|
|
'<uses-permission android:name="android.permission.WRITE_SETTINGS"/>',
|
|
],
|
|
},
|
|
/* 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',
|
|
})
|