Files
PartsInquiry/frontend/common/config.js
2025-09-29 21:38:32 +08:00

57 lines
3.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 统一配置:禁止在业务代码中硬编码
// 优先级:环境变量(Vite/HBuilderX 构建注入) > 本地存储 > 默认值
const envBaseUrl = (typeof process !== 'undefined' && process.env && (process.env.VITE_APP_API_BASE_URL || process.env.API_BASE_URL)) || '';
const storageBaseUrl = typeof uni !== 'undefined' ? (uni.getStorageSync('API_BASE_URL') || '') : '';
const fallbackBaseUrl = 'http://127.0.0.1:8080';
export const API_BASE_URL = (envBaseUrl || storageBaseUrl || fallbackBaseUrl).replace(/\/$/, '');
// 多地址候选(按优先级顺序,自动去重与去尾斜杠)
const candidateBases = [envBaseUrl, storageBaseUrl, fallbackBaseUrl, 'http://127.0.0.1:8080', 'http://localhost:8080'];
export const API_BASE_URL_CANDIDATES = Array.from(new Set(candidateBases.filter(Boolean))).map(u => String(u).replace(/\/$/, ''));
const envShopId = (typeof process !== 'undefined' && process.env && (process.env.VITE_APP_SHOP_ID || process.env.SHOP_ID)) || '';
const storageShopId = typeof uni !== 'undefined' ? (uni.getStorageSync('SHOP_ID') || '') : '';
export const SHOP_ID = Number(envShopId || storageShopId || 1);
// 默认用户(可移除):
// - 用途:开发/演示环境自动将用户固定为“张老板”id=2
// - 开关优先级:环境变量 > 本地存储 > 默认值
// - 生产默认关闭false开发可通过本地存储或环境变量开启
const envEnableDefaultUser = (typeof process !== 'undefined' && process.env && (process.env.VITE_APP_ENABLE_DEFAULT_USER || process.env.ENABLE_DEFAULT_USER)) || '';
const storageEnableDefaultUser = typeof uni !== 'undefined' ? (uni.getStorageSync('ENABLE_DEFAULT_USER') || '') : '';
export const ENABLE_DEFAULT_USER = String(envEnableDefaultUser || storageEnableDefaultUser || 'false').toLowerCase() === 'true';
const envDefaultUserId = (typeof process !== 'undefined' && process.env && (process.env.VITE_APP_DEFAULT_USER_ID || process.env.DEFAULT_USER_ID)) || '';
const storageDefaultUserId = typeof uni !== 'undefined' ? (uni.getStorageSync('DEFAULT_USER_ID') || '') : '';
export const DEFAULT_USER_ID = Number(envDefaultUserId || storageDefaultUserId || 0);
// 会员价格(单位:元/月):环境 > 本地存储 > 默认值
const envVipPrice = (typeof process !== 'undefined' && process.env && (process.env.VITE_APP_VIP_PRICE || process.env.VIP_PRICE)) || '';
const storageVipPrice = typeof uni !== 'undefined' ? (uni.getStorageSync('VIP_PRICE') || '') : '';
export const VIP_PRICE_PER_MONTH = Number(envVipPrice || storageVipPrice || 15);
// 首页横幅图片(公告上方),避免硬编码
// 优先级:环境变量 > 本地存储 > 默认值(放置于 /static/icons/ 下)
const envHomeBanner = (typeof process !== 'undefined' && process.env && (process.env.VITE_APP_HOME_BANNER_IMG || process.env.HOME_BANNER_IMG)) || '';
const storageHomeBanner = typeof uni !== 'undefined' ? (uni.getStorageSync('HOME_BANNER_IMG') || '') : '';
export const HOME_BANNER_IMG = String(envHomeBanner || storageHomeBanner || '/static/icons/home-banner.png');
// KPI 图标(可按需覆盖),避免在页面里硬编码
export const KPI_ICONS = {
todaySales: '/static/icons/webwxgetmsgimg.jpg',
monthSales: '/static/icons/webwxgetmsgimg.jpg',
monthProfit: '/static/icons/icons8-profit-50.png',
stockCount: '/static/icons/product.png'
}
// 登录页顶部图片,避免在页面硬编码,允许通过环境变量或本地存储覆盖
const envAuthLoginImg = (typeof process !== 'undefined' && process.env && (process.env.VITE_APP_AUTH_LOGIN_TOP_IMAGE || process.env.AUTH_LOGIN_TOP_IMAGE)) || '';
const storageAuthLoginImg = typeof uni !== 'undefined' ? (uni.getStorageSync('AUTH_LOGIN_TOP_IMAGE') || '') : '';
export const AUTH_LOGIN_TOP_IMAGE = String(envAuthLoginImg || storageAuthLoginImg || '/static/icons/undraw_visual-data_1eya.png');