Files

111 lines
3.7 KiB
TypeScript

import process from 'node:process'
import { defineManifestConfig } from '@uni-helper/vite-plugin-uni-manifest'
import { loadEnv } from 'vite'
// 获取项目名称, 不需要自动生成可将该变量与函数删除
const projectName = getProjectName()
const manifestEnv = loadEnv(process.env.NODE_ENV ?? 'development', process.cwd(), '')
const weixinAppId = manifestEnv.UNI_MP_WEIXIN_APPID || 'touristappid'
export default defineManifestConfig({
'name': '光明文旅地图',
'appid': '',
'description': '深圳市光明区全域文旅地图、POI 数字化展示、AI 文旅助手与行程规划 POC',
'versionName': '0.2.0',
'versionCode': '20',
'transformPx': false,
'uniStatistics': {
enable: false,
},
/* 5+App特有相关 */
'app-plus': {
usingComponents: true,
nvueStyleCompiler: 'uni-app',
compilerVersion: 3,
splashscreen: {
alwaysShowBeforeRender: true,
waiting: true,
autoclose: true,
delay: 0,
},
/* 模块配置 */
modules: {},
/* 应用发布信息 */
distribute: {
/* android打包配置 */
android: {
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': {
// Configure locally with UNI_MP_WEIXIN_APPID; do not commit project credentials.
appid: weixinAppId,
permission: {
'scope.userLocation': {
desc: '用于在全域地图显示实时位置,并优化文旅行程顺序',
},
},
requiredPrivateInfos: ['getLocation', 'startLocationUpdate', 'onLocationChange'],
setting: {
urlCheck: true,
},
usingComponents: true,
projectname: projectName,
},
'mp-alipay': {
usingComponents: true,
},
'mp-baidu': {
usingComponents: true,
},
'mp-toutiao': {
usingComponents: true,
},
'vueVersion': '3',
})
/**
* 自动生成项目名称
* 当前模拟 return 项目名称,可根据业务需求自行修改函数逻辑
*/
function getProjectName(name?: string) {
// 项目名称前缀,可根据业务需求自行修改环境与前缀
const prefix = {
development: 'dev',
production: 'prod',
}
// 项目名称
const projectname = name ?? '光明文旅地图'
const mode = process.env.NODE_ENV === 'production' ? 'production' : 'development'
return `【${prefix[mode]}${projectname}`
}