diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..978f1a4 --- /dev/null +++ b/.env.production @@ -0,0 +1,5 @@ +# Production CI uses the existing shared H5 file-access settings. +VITE_FILE_ACCESS_APP_ID="h5" +VITE_FILE_ACCESS_KEY_ID="v1" +VITE_FILE_ACCESS_KEY="gDJpmQ+QJjIP/kRYbsKGKbaWffahgeloeW8/7TSZCdo=" +VITE_FILE_ACCESS_ALLOWED_ORIGINS="https://www.pjzhhq.cn,https://stgl.pj.gov.cn" diff --git a/package.json b/package.json index 606d2fb..acbb108 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "uni-preset-vue", "version": "0.0.0", "scripts": { + "build": "uni build -p h5 --mode production", "dev:app": "uni -p app", "dev:app-android": "uni -p app-android", "dev:app-ios": "uni -p app-ios", @@ -26,8 +27,8 @@ "build:app-ios": "uni build -p app-ios", "build:app-harmony": "uni build -p app-harmony", "build:custom": "uni build -p", - "build:h5": "uni build", - "build:h5:ssr": "uni build --ssr", + "build:h5": "uni build -p h5 --mode production", + "build:h5:ssr": "uni build -p h5 --ssr --mode production", "build:mp-alipay": "uni build -p mp-alipay", "build:mp-baidu": "uni build -p mp-baidu", "build:mp-jd": "uni build -p mp-jd", @@ -94,4 +95,4 @@ "vite": "5.2.8", "vue-tsc": "^1.0.24" } -} \ No newline at end of file +} diff --git a/vite.config.ts b/vite.config.ts index e9119fb..befa129 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -11,7 +11,7 @@ export default defineConfig(({ mode }) => { if (fileEnv.VITE_FILE_ACCESS_APP_ID !== 'h5' || !/^[a-zA-Z0-9_-]{1,32}$/.test(fileEnv.VITE_FILE_ACCESS_KEY_ID || '') || !/^[A-Za-z0-9+/]+={0,2}$/.test(fileEnv.VITE_FILE_ACCESS_KEY || '') || Buffer.from(fileEnv.VITE_FILE_ACCESS_KEY || '', 'base64').length < 32) { - throw new Error('请配置文件访问 appId、kid 和至少 32 字节的 Base64 密钥(.env..local)') + throw new Error('请配置文件访问 appId、kid 和至少 32 字节的 Base64 密钥;本地可用 .env.local,自动构建请通过 .env.production 或流水线环境变量提供') } const { NODE_ENV, VITE_APP_DEV_SERVICE, VITE_APP_PROD_SERVICE, VITE_IMAGE_DEV_PATH } = loadEnv(mode, process.cwd(), "")