diff --git a/packages/uni-cli-shared/src/json/manifest.ts b/packages/uni-cli-shared/src/json/manifest.ts index 893ddc9284cc090e07c1be084a90150e1f449b30..a4e5c39c43a858992e5b27b3e49ef6a6646b857c 100644 --- a/packages/uni-cli-shared/src/json/manifest.ts +++ b/packages/uni-cli-shared/src/json/manifest.ts @@ -91,6 +91,14 @@ export function isEnableUniPushV2(inputDir: string, platform: UniApp.PLATFORM) { return manifest[platform]?.unipush?.enable === true } +export function isEnableSecureNetwork(inputDir: string, platform: UniApp.PLATFORM) { + const manifest = parseManifestJsonOnce(inputDir) + if (platform === 'app') { + return false // 暂未支持app + } + return manifest[platform]?.secureNetwork?.enable === true +} + export function isUniPushOffline(inputDir: string) { const manifest = parseManifestJsonOnce(inputDir) return ( diff --git a/packages/uni-cloud/src/uni.plugin.ts b/packages/uni-cloud/src/uni.plugin.ts index 5c1072c8414a57b24a06b853ec6c695a6b0e06da..cfcb028572dabe792fb77f146c6a7412ea1f63a7 100644 --- a/packages/uni-cloud/src/uni.plugin.ts +++ b/packages/uni-cloud/src/uni.plugin.ts @@ -3,12 +3,14 @@ import { sync } from 'fast-glob' import { isArray } from '@vue/shared' import { once } from '@dcloudio/uni-shared' import { + isSsr, defineUniMainJsPlugin, COMMON_EXCLUDE, isInHybridNVue, uniViteInjectPlugin, UniVitePlugin, isInHBuilderX, + isEnableSecureNetwork } from '@dcloudio/uni-cli-shared' import { uniValidateFunctionPlugin } from './validateFunction' @@ -174,6 +176,19 @@ export default () => [ return { name: 'uni:cloud', enforce: 'pre', + config(config, env) { + if (isSsr(env.command, config)) { + return + } + const inputDir = process.env.UNI_INPUT_DIR! + const platform = process.env.UNI_PLATFORM! + const isSecureNetworkEnabled = isEnableSecureNetwork(inputDir, platform) + return { + define: { + 'process.env.UNI_SECURE_NETWORK': isSecureNetworkEnabled, + }, + } + }, transform(code, id) { if (!opts.filter(id)) { return