修改项目 build 结构
This commit is contained in:
@@ -1,135 +1,61 @@
|
||||
import Taro from '@tarojs/taro'
|
||||
import Taro from "@tarojs/taro";
|
||||
|
||||
// 环境类型
|
||||
export type EnvType = 'development' | 'production'
|
||||
/**
|
||||
* 环境配置:从 config/env.config.ts 经 defineConstants 注入
|
||||
* 构建时由 config/index.ts 根据 APP_ENV 选择并注入
|
||||
*/
|
||||
export type EnvType = "dev" | "dev_local" | "sit" | "pr";
|
||||
|
||||
// 环境配置接口
|
||||
export interface EnvConfig {
|
||||
name: string
|
||||
apiBaseURL: string
|
||||
ossBaseURL: string
|
||||
timeout: number
|
||||
enableLog: boolean
|
||||
enableMock: boolean
|
||||
// 客服配置
|
||||
name: string;
|
||||
apiBaseURL: string;
|
||||
ossBaseURL: string;
|
||||
timeout: number;
|
||||
enableLog: boolean;
|
||||
enableMock: boolean;
|
||||
customerService: {
|
||||
corpId: string
|
||||
serviceUrl: string
|
||||
phoneNumber?: string
|
||||
email?: string
|
||||
}
|
||||
corpId: string;
|
||||
serviceUrl: string;
|
||||
};
|
||||
}
|
||||
|
||||
// 各环境配置
|
||||
const envConfigs: Record<EnvType, EnvConfig> = {
|
||||
|
||||
|
||||
// 开发环境
|
||||
development: {
|
||||
name: '开发环境',
|
||||
apiBaseURL: 'https://tennis.bimwe.com',
|
||||
ossBaseURL: 'https://bimwe.oss-cn-shanghai.aliyuncs.com',
|
||||
//apiBaseURL: 'http://localhost:9098',
|
||||
timeout: 15000,
|
||||
enableLog: true,
|
||||
enableMock: false,
|
||||
// 客服配置
|
||||
customerService: {
|
||||
corpId: 'ww51fc969e8b76af82', // 企业ID
|
||||
serviceUrl: 'https://work.weixin.qq.com/kfid/kfc64085b93243c5c91',
|
||||
|
||||
}
|
||||
// 从 defineConstants 注入的编译时常量读取
|
||||
const getInjectedConfig = (): EnvConfig => ({
|
||||
name: process.env.APP_ENV || "dev",
|
||||
apiBaseURL: process.env.API_BASE_URL || "",
|
||||
ossBaseURL: process.env.OSS_BASE_URL || "",
|
||||
timeout: Number(process.env.TIMEOUT) || 10000,
|
||||
enableLog: process.env.ENABLE_LOG === "true",
|
||||
enableMock: false,
|
||||
customerService: {
|
||||
corpId: process.env.CUSTOMER_CORP_ID || "",
|
||||
serviceUrl: process.env.CUSTOMER_SERVICE_URL || "",
|
||||
},
|
||||
});
|
||||
|
||||
export const getCurrentEnv = (): EnvType =>
|
||||
(process.env.APP_ENV as EnvType) || "dev";
|
||||
|
||||
export const getCurrentConfig = (): EnvConfig => getInjectedConfig();
|
||||
|
||||
|
||||
export const isDevelopment = (): boolean =>
|
||||
getCurrentEnv() === "dev" || getCurrentEnv() === "dev_local" || getCurrentEnv() === "sit";
|
||||
|
||||
export const isProduction = (): boolean => getCurrentEnv() === "pr";
|
||||
|
||||
|
||||
// 生产环境1
|
||||
production: {
|
||||
name: '生产环境1',
|
||||
apiBaseURL: 'https://tennis.bimwe.com',
|
||||
ossBaseURL: 'https://bimwe.oss-cn-shanghai.aliyuncs.com',
|
||||
timeout: 10000,
|
||||
enableLog: false,
|
||||
enableMock: false,
|
||||
// 客服配置
|
||||
customerService: {
|
||||
corpId: 'ww51fc969e8b76af82', // 企业ID
|
||||
serviceUrl: 'https://work.weixin.qq.com/kfid/kfc64085b93243c5c91',
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
//生产环境2
|
||||
// production: {
|
||||
// name: '生产环境2',
|
||||
// apiBaseURL: 'https://youchang.qiongjingtiyu.com',
|
||||
// ossBaseURL: 'https://youchang2026.oss-cn-shanghai.aliyuncs.com',
|
||||
// timeout: 10000,
|
||||
// enableLog: false,
|
||||
// enableMock: false,
|
||||
// // 客服配置
|
||||
// customerService: {
|
||||
// corpId: 'ww9a2d9a5d9410c664', // 企业ID
|
||||
// serviceUrl: 'https://work.weixin.qq.com/kfid/kfcd355e162e0390684',
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
// 获取当前环境
|
||||
export const getCurrentEnv = (): EnvType => {
|
||||
// 在小程序环境中,使用默认逻辑判断环境
|
||||
// 可以根据实际需要配置不同的判断逻辑
|
||||
|
||||
// 可以根据实际部署情况添加更多判断逻辑
|
||||
// 比如通过 Taro.getEnv() 获取当前平台环境
|
||||
|
||||
const isProd = process.env.NODE_ENV === 'production'
|
||||
if (isProd) {
|
||||
return 'production'
|
||||
} else {
|
||||
return 'development'
|
||||
}
|
||||
}
|
||||
|
||||
// 获取当前环境配置
|
||||
export const getCurrentConfig = (): EnvConfig => {
|
||||
const env = getCurrentEnv()
|
||||
return envConfigs[env]
|
||||
}
|
||||
|
||||
// 获取指定环境配置
|
||||
export const getEnvConfig = (env: EnvType): EnvConfig => {
|
||||
return envConfigs[env]
|
||||
}
|
||||
|
||||
// 是否为开发环境
|
||||
export const isDevelopment = (): boolean => {
|
||||
return getCurrentEnv() === 'development'
|
||||
}
|
||||
|
||||
// 是否为生产环境
|
||||
export const isProduction = (): boolean => {
|
||||
return getCurrentEnv() === 'production'
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 环境配置调试信息
|
||||
export const getEnvInfo = () => {
|
||||
const config = getCurrentConfig()
|
||||
const config = getCurrentConfig();
|
||||
return {
|
||||
env: getCurrentEnv(),
|
||||
config,
|
||||
taroEnv: Taro.getEnv(),
|
||||
platform: Taro.getEnv() === Taro.ENV_TYPE.WEAPP ? '微信小程序' :
|
||||
Taro.getEnv() === Taro.ENV_TYPE.WEB ? 'Web' :
|
||||
Taro.getEnv() === Taro.ENV_TYPE.RN ? 'React Native' : '未知'
|
||||
}
|
||||
}
|
||||
taroEnv: (Taro as any).getEnv?.(),
|
||||
platform:
|
||||
(Taro as any).getEnv?.() === (Taro as any).ENV_TYPE?.WEAPP
|
||||
? "微信小程序"
|
||||
: (Taro as any).getEnv?.() === (Taro as any).ENV_TYPE?.WEB
|
||||
? "Web"
|
||||
: "未知",
|
||||
};
|
||||
};
|
||||
|
||||
// 导出当前环境配置(方便直接使用)
|
||||
export default getCurrentConfig()
|
||||
export default getCurrentConfig();
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
.enable_notification_page {
|
||||
width: 100%;
|
||||
// min-height: 100vh;
|
||||
// background: radial-gradient(circle at 50% 0%, rgba(191, 255, 239, 1) 0%, rgba(255, 255, 255, 1) 37%);
|
||||
height: 100%;
|
||||
background: radial-gradient(circle at 50% 0%, rgba(191, 255, 239, 1) 0%, rgba(255, 255, 255, 1) 37%);
|
||||
box-sizing: border-box;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user