| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 | 
							- "use strict";
 
- var __importDefault = (this && this.__importDefault) || function (mod) {
 
-     return (mod && mod.__esModule) ? mod : { "default": mod };
 
- };
 
- Object.defineProperty(exports, "__esModule", { value: true });
 
- const path_1 = __importDefault(require("path"));
 
- const fast_glob_1 = require("fast-glob");
 
- const shared_1 = require("@vue/shared");
 
- const uni_shared_1 = require("@dcloudio/uni-shared");
 
- const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
 
- const validateFunction_1 = require("./validateFunction");
 
- const uniCloudSpaces = [];
 
- const initUniCloudEnvOnce = (0, uni_shared_1.once)(initUniCloudEnv);
 
- initUniCloudEnvOnce();
 
- /**
 
-  * @type {import('vite').Plugin}
 
-  */
 
- function uniCloudPlugin() {
 
-     return {
 
-         name: 'uni:cloud',
 
-         config(config) {
 
-             const silent = config.build && config.build.ssr ? true : false;
 
-             if (silent) {
 
-                 return;
 
-             }
 
-             const len = uniCloudSpaces.length;
 
-             if (!len) {
 
-                 return;
 
-             }
 
-             if ((0, uni_cli_shared_1.isInHybridNVue)(config)) {
 
-                 return;
 
-             }
 
-             if (len === 1) {
 
-                 console.log(`本项目的uniCloud使用的默认服务空间spaceId为:${uniCloudSpaces[0].id}`);
 
-             }
 
-             if (process.env.UNI_PLATFORM === 'h5' &&
 
-                 !process.env.UNI_SUB_PLATFORM &&
 
-                 process.env.NODE_ENV === 'production') {
 
-                 console.warn('发布到web端需要在uniCloud后台操作,绑定安全域名,否则会因为跨域问题而无法访问。教程参考:https://uniapp.dcloud.net.cn/uniCloud/publish.html#useinh5');
 
-             }
 
-             return {};
 
-         },
 
-         configureServer(server) {
 
-             if (server.httpServer) {
 
-                 server.httpServer.on('listening', () => {
 
-                     process.nextTick(() => {
 
-                         initUniCloudWarningOnce();
 
-                     });
 
-                 });
 
-             }
 
-             else {
 
-                 initUniCloudWarningOnce();
 
-             }
 
-         },
 
-         closeBundle() {
 
-             if (process.env.UNI_PLATFORM === 'h5' && !process.env.UNI_SSR_CLIENT) {
 
-                 console.log();
 
-                 console.log('欢迎将web站点部署到uniCloud前端网页托管平台,高速、免费、安全、省心,详见:https://uniapp.dcloud.io/uniCloud/hosting');
 
-             }
 
-         },
 
-     };
 
- }
 
- const initUniCloudWarningOnce = (0, uni_shared_1.once)(() => {
 
-     uniCloudSpaces.length &&
 
-         console.warn('当前项目使用了uniCloud,为避免云函数调用跨域问题,建议在HBuilderX内置浏览器里调试。如使用外部浏览器需处理跨域,请将访问页面对应的IP或域名配置在要访问的云函数所在的服务空间的跨域配置内,详见:https://uniapp.dcloud.net.cn/uniCloud/publish.html#useinh5');
 
- });
 
- function checkProjectUniCloudDir() {
 
-     return !!(0, fast_glob_1.sync)(['uniCloud-aliyun', 'uniCloud-tcb', 'uniCloud-alipay', 'uniCloud-dcloud'], {
 
-         cwd: (0, uni_cli_shared_1.isInHBuilderX)()
 
-             ? process.env.UNI_INPUT_DIR
 
-             : process.env.UNI_CLI_CONTEXT,
 
-         onlyDirectories: true,
 
-         onlyFiles: false,
 
-         ignore: ['node_modules'],
 
-     }).length;
 
- }
 
- function resolveUniCloudModules() {
 
-     return (0, fast_glob_1.sync)('**/uni_modules/*/uniCloud', {
 
-         cwd: process.env.UNI_INPUT_DIR,
 
-         onlyDirectories: true,
 
-         onlyFiles: false,
 
-         ignore: ['node_modules'],
 
-     }).map((dir) => path_1.default.dirname(dir));
 
- }
 
- function checkUniModules() {
 
-     if (!checkProjectUniCloudDir()) {
 
-         const uniCloudModules = resolveUniCloudModules();
 
-         if (uniCloudModules.length) {
 
-             console.warn(`${uniCloudModules.join(', ')} 使用了uniCloud,而项目未启用uniCloud。需在项目点右键创建uniCloud环境`);
 
-         }
 
-     }
 
- }
 
- function initUniCloudEnv() {
 
-     checkUniModules();
 
-     if (process.env.UNI_CLOUD_PROVIDER) {
 
-         const spaces = JSON.parse(process.env.UNI_CLOUD_PROVIDER);
 
-         if (!(0, shared_1.isArray)(spaces)) {
 
-             return;
 
-         }
 
-         if (spaces.length) {
 
-             uniCloudSpaces.push(...spaces);
 
-             return;
 
-         }
 
-     }
 
-     process.env.UNI_CLOUD_PROVIDER = JSON.stringify([]);
 
-     if (!process.env.UNI_CLOUD_SPACES) {
 
-         return;
 
-     }
 
-     try {
 
-         const spaces = JSON.parse(process.env.UNI_CLOUD_SPACES);
 
-         if (!(0, shared_1.isArray)(spaces)) {
 
-             return;
 
-         }
 
-         spaces.forEach((s) => uniCloudSpaces.push(s));
 
-         process.env.UNI_CLOUD_PROVIDER = JSON.stringify(uniCloudSpaces.map((space) => {
 
-             if (space.provider === 'tcb') {
 
-                 space.provider = 'tencent';
 
-             }
 
-             if (!space.provider && space.clientSecret) {
 
-                 space.provider = 'aliyun';
 
-             }
 
-             switch (space.provider) {
 
-                 case 'aliyun':
 
-                 case 'dcloud':
 
-                     return {
 
-                         provider: space.provider || 'aliyun',
 
-                         spaceName: space.name,
 
-                         spaceId: space.id,
 
-                         clientSecret: space.clientSecret,
 
-                         endpoint: space.apiEndpoint,
 
-                     };
 
-                 case 'alipay': {
 
-                     return {
 
-                         provider: space.provider,
 
-                         spaceName: space.name,
 
-                         spaceId: space.id,
 
-                         spaceAppId: space.spaceAppId,
 
-                         accessKey: space.accessKey,
 
-                         secretKey: space.secretKey,
 
-                     };
 
-                 }
 
-                 case 'tencent':
 
-                 default: {
 
-                     return {
 
-                         provider: space.provider,
 
-                         spaceName: space.name,
 
-                         spaceId: space.id,
 
-                     };
 
-                 }
 
-             }
 
-         }));
 
-     }
 
-     catch (e) { }
 
- }
 
- exports.default = () => [
 
-     (0, uni_cli_shared_1.defineUniMainJsPlugin)((opts) => {
 
-         return {
 
-             name: 'uni:cloud',
 
-             enforce: 'pre',
 
-             config(config, env) {
 
-                 if ((0, uni_cli_shared_1.isSsr)(env.command, config)) {
 
-                     return;
 
-                 }
 
-                 const inputDir = process.env.UNI_INPUT_DIR;
 
-                 const platform = process.env.UNI_PLATFORM;
 
-                 const isSecureNetworkEnabled = (0, uni_cli_shared_1.isEnableSecureNetwork)(inputDir, platform);
 
-                 return {
 
-                     define: {
 
-                         'process.env.UNI_SECURE_NETWORK_ENABLE': isSecureNetworkEnabled,
 
-                         'process.env.UNI_SECURE_NETWORK_CONFIG': process.env.UNI_SECURE_NETWORK_CONFIG || JSON.stringify([]),
 
-                     },
 
-                 };
 
-             },
 
-             transform(code, id) {
 
-                 if (!opts.filter(id)) {
 
-                     return;
 
-                 }
 
-                 if (uniCloudSpaces.length) {
 
-                     return {
 
-                         code: code + `;\nimport '@dcloudio/uni-cloud';`,
 
-                         map: null,
 
-                     };
 
-                 }
 
-             },
 
-         };
 
-     }),
 
-     uniCloudPlugin(),
 
-     // x 里边统一处理
 
-     ...(process.env.UNI_APP_X === 'true'
 
-         ? []
 
-         : [
 
-             (0, uni_cli_shared_1.uniViteInjectPlugin)('uni:cloud-inject', {
 
-                 exclude: [...uni_cli_shared_1.COMMON_EXCLUDE],
 
-                 uniCloud: ['@dcloudio/uni-cloud', 'default'],
 
-             }),
 
-         ]),
 
-     (0, validateFunction_1.uniValidateFunctionPlugin)(),
 
- ];
 
 
  |