diff --git a/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js b/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js index b42677fadeb18e1f5c504f7b970b1941afcffe07..cb7f5c403d998ef4f2f3a1c8c03491627541ef30 100644 --- a/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js +++ b/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js @@ -72,7 +72,8 @@ const plugins = [ new webpack.DefinePlugin({ 'process.env': { 'NODE_ENV': JSON.stringify(process.env.NODE_ENV), - 'VUE_APP_PLATFORM': JSON.stringify(process.env.UNI_PLATFORM) + 'VUE_APP_PLATFORM': JSON.stringify(process.env.UNI_PLATFORM), + 'UNI_CLOUD_PROVIDER': process.env.UNI_CLOUD_PROVIDER } }), new webpack.BannerPlugin({ diff --git a/packages/vue-cli-plugin-uni/lib/chain-webpack.js b/packages/vue-cli-plugin-uni/lib/chain-webpack.js index cfc16bd0e263438ac45df8db0156be4984b54eb0..3d5bb9c85ffde73f6198c404c7e3b3a4c8b9bec7 100644 --- a/packages/vue-cli-plugin-uni/lib/chain-webpack.js +++ b/packages/vue-cli-plugin-uni/lib/chain-webpack.js @@ -94,7 +94,8 @@ module.exports = function chainWebpack (platformOptions, vueOptions, api) { webpackConfig .plugin('uni-define') .use(require.resolve('webpack/lib/DefinePlugin'), [{ - 'process.env.UNI_ENV': JSON.stringify(process.env.UNI_PLATFORM) + 'process.env.UNI_ENV': JSON.stringify(process.env.UNI_PLATFORM), + 'process.env.UNI_CLOUD_PROVIDER': process.env.UNI_CLOUD_PROVIDER }]) if (runByHBuilderX) { // 由 HBuilderX 运行时,移除进度,错误 diff --git a/packages/vue-cli-plugin-uni/lib/env.js b/packages/vue-cli-plugin-uni/lib/env.js index 486c784fc6914b4932d7920e557f5900c78956b9..054604683280435e163db8889da2d61c389c5dd3 100644 --- a/packages/vue-cli-plugin-uni/lib/env.js +++ b/packages/vue-cli-plugin-uni/lib/env.js @@ -3,6 +3,30 @@ const path = require('path') const mkdirp = require('mkdirp') const loaderUtils = require('loader-utils') +process.env.UNI_CLOUD_PROVIDER = JSON.stringify({}) + +if (process.env.UNI_CLOUD_SPACES) { + try { + const spaces = JSON.parse(process.env.UNI_CLOUD_SPACES) + if (Array.isArray(spaces) && spaces.length === 1) { + const space = spaces[0] + if (space.clientSecret) { + process.env.UNI_CLOUD_PROVIDER = JSON.stringify({ + provider: 'aliyun', + spaceId: space.name, + clientSecret: space.clientSecret, + endpoint: space.apiEndpoint + }) + } else { + process.env.UNI_CLOUD_PROVIDER = JSON.stringify({ + provider: 'tencent', + spaceId: space.name + }) + } + } + } catch (e) {} +} + if (process.env.UNI_PLATFORM === 'mp-360') { process.env.UNI_PLATFORM = 'h5' process.env.UNI_SUB_PLATFORM = 'mp-360'