From e37fb47a09318caa1d8684bbeb28ca067efcba66 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Thu, 16 Jan 2020 18:57:09 +0800 Subject: [PATCH] feat(cli): add UNI_CLOUD_PROVIDER --- .../build/webpack.nvue.conf.js | 3 ++- .../vue-cli-plugin-uni/lib/chain-webpack.js | 3 ++- packages/vue-cli-plugin-uni/lib/env.js | 24 +++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) 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 b42677fad..cb7f5c403 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 cfc16bd0e..3d5bb9c85 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 486c784fc..054604683 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' -- GitLab