feat: 添加使用脚本切换小程序的替换
This commit is contained in:
@@ -1,39 +1,9 @@
|
||||
import DH from "@/pages/login/images/dh.png";
|
||||
import DHWQ from "@/pages/login/images/dhwq.png";
|
||||
import TM from "@/pages/login/images/tm.png";
|
||||
import WSMM from "@/pages/login/images/wsmm.png";
|
||||
// 导入统一的客户端配置
|
||||
import { CLIENT_CONFIGS } from './client-config.js';
|
||||
|
||||
// 小程序特有相关: 同时更改manifest.json和 project.config.json文件中的appid;
|
||||
// 所有用户端的配置
|
||||
export const CLIENT_CONFIGS = {
|
||||
// 智念用户端
|
||||
zhinian: {
|
||||
clientId: "2",
|
||||
appId: "wx5e79df5996572539",
|
||||
placeholder: "快告诉智念您在想什么~",
|
||||
loginDesc: "您好,欢迎来到智念科技",
|
||||
logo: DH,
|
||||
subLogo: DHWQ,
|
||||
},
|
||||
// 朵花用户端
|
||||
duohua: {
|
||||
clientId: "2",
|
||||
appId: "wx23f86d809ae80259",
|
||||
placeholder: "快告诉朵朵您在想什么~",
|
||||
loginDesc: "您好,欢迎来到朵花温泉",
|
||||
logo: DH,
|
||||
subLogo: DHWQ,
|
||||
},
|
||||
// 天沐用户端
|
||||
tianmu: {
|
||||
clientId: "4",
|
||||
appId: "wx0be424e1d22065a9",
|
||||
placeholder: "快告诉沐沐您在想什么~",
|
||||
loginDesc: "您好,欢迎来到天沐温泉",
|
||||
logo: TM,
|
||||
subLogo: WSMM,
|
||||
},
|
||||
};
|
||||
// 重新导出配置供其他模块使用
|
||||
export { CLIENT_CONFIGS };
|
||||
|
||||
// 获取当前用户端配置
|
||||
export const getCurrentConfig = () => CLIENT_CONFIGS.tianmu;
|
||||
|
||||
62
src/constant/client-config.js
Normal file
62
src/constant/client-config.js
Normal file
@@ -0,0 +1,62 @@
|
||||
/**
|
||||
* 客户端配置管理模块
|
||||
*
|
||||
* 功能说明:
|
||||
* 所有配置现在从根目录的 client-configs.json 文件中读取
|
||||
* 支持智能图片路径处理,自动适配不同环境
|
||||
*/
|
||||
|
||||
// 读取完整配置文件
|
||||
let rawConfigs;
|
||||
|
||||
try {
|
||||
if (typeof window === 'undefined') {
|
||||
// Node.js环境 - 读取JSON文件
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const configPath = path.join(process.cwd(), 'client-configs.json');
|
||||
const configContent = fs.readFileSync(configPath, 'utf8');
|
||||
rawConfigs = JSON.parse(configContent);
|
||||
} else {
|
||||
// 浏览器环境 - 读取JSON文件(需要构建时处理)
|
||||
// 这里应该通过构建工具将JSON内容注入,或者通过API获取
|
||||
throw new Error('浏览器环境需要通过构建工具或API获取配置');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('读取配置文件失败:', error);
|
||||
rawConfigs = {};
|
||||
}
|
||||
|
||||
// 动态导入图片的辅助函数
|
||||
const importImage = (imagePath) => {
|
||||
try {
|
||||
// 检查是否在Node.js环境中
|
||||
if (typeof window === 'undefined') {
|
||||
// Node.js环境中返回路径字符串
|
||||
return imagePath;
|
||||
}
|
||||
|
||||
// 将 @/ 路径转换为实际的导入路径
|
||||
const actualPath = imagePath.replace('@/', '../');
|
||||
return require(actualPath);
|
||||
} catch (error) {
|
||||
console.warn(`无法加载图片: ${imagePath}`, error);
|
||||
return imagePath; // 返回原路径作为fallback
|
||||
}
|
||||
};
|
||||
|
||||
// 处理配置,将图片路径转换为实际的导入对象
|
||||
const processConfigs = (configs) => {
|
||||
const processedConfigs = {};
|
||||
for (const [clientName, config] of Object.entries(configs)) {
|
||||
processedConfigs[clientName] = {
|
||||
...config,
|
||||
logo: importImage(config.logo),
|
||||
subLogo: importImage(config.subLogo),
|
||||
};
|
||||
}
|
||||
return processedConfigs;
|
||||
};
|
||||
|
||||
// 所有用户端的配置 - 从JSON配置文件生成
|
||||
export const CLIENT_CONFIGS = processConfigs(rawConfigs);
|
||||
Reference in New Issue
Block a user