52 lines
3.3 KiB
JavaScript
52 lines
3.3 KiB
JavaScript
// 统一配置:禁止在业务代码中硬编码
|
||
// 优先级:环境变量(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'
|
||
}
|
||
|