@10yun/open-sdk
Version:
开放平台接入sdk
93 lines (89 loc) • 3.01 kB
JavaScript
import './style.js';
import { routeParseQiankun } from '../common/router.js';
/**
* 配置
*/
const envArr = import.meta.env;
export function loadInitConfig() {
// const envArr = process.env || {};
// 合并主应用_SY_API_BASE_URL_
const last_api_base_url = window._SY_API_BASE_URL_ || envArr.VITE_SY_API_URL;
// 合并主应用_项目接入id
const lastAppProjectSign = window['SY-APP-PROJECT-SIGN'] || envArr.VITE_SY_CONNECT_PSIGN;
// 合并主应用_应用接入id
const lastAppConnectId = window['SY-APP-CONNECT-ID'] || envArr.VITE_SY_CONNECT_APPID;
// 合并主应用_应用接入role
const lastAppConnectRole = window['SY-APP-CONNECT-ROLE'] || envArr.VITE_SY_CONNECT_ROLE;
// 合并主应用_api_flag
const last_open_api_flag = window._SY_OPEN_API_FLAG_ || {};
// 合并主应用_api_auth
const last_open_api_auth = window._SY_OPEN_API_AUTH_ || {};
/**
* 产品信息
*/
const last_product_title = envArr.VITE_SY_PRODUCT_TITLE || 'ShiyunProduct';
const last_product_sign = envArr.VITE_SY_PRODUCT_SIGN || 'ShiyunProduct';
const last_vers_alone = envArr.CICD_BUILD_DOMAIN_ALONE || 'off';
return {
syProductAlone: last_vers_alone,
syProductTitle: last_product_title,
syProductSign: last_product_sign,
/**
*
*/
syOpenApiFlag: last_open_api_flag,
syOpenApiAuth: last_open_api_auth,
// syAppUrlBase: lastAppUrlBase,
// syAppUrlPay: lastAppUrlPay,
// syAppUrlFile: lastAppUrlFile,
syApiBaseUrl: last_api_base_url,
syAppProjectSign: lastAppProjectSign,
syAppConnectRole: lastAppConnectRole,
syAppConnectId: lastAppConnectId
/**
*
*/
};
}
/**
* 语言
*/
// 获取所有语言文件的路径
const language_glob = import.meta.glob('@/language/modules/**/*.json');
// 语言文件的存储
const language_messages = {};
// 动态加载语言文件
export async function loadLocaleMessages(locale) {
if (!language_messages[locale]) {
language_messages[locale] = {};
for (const path in language_glob) {
if (path.includes(`/${locale}.json`)) {
const module = await language_glob[path]();
if (module.default) {
Object.assign(language_messages[locale], module.default, {});
// console.log(module.default, path, language_messages[locale]);
}
}
}
}
return language_messages[locale];
}
/**
* 路由
*/
const views_glob = import.meta.glob('@/views/**/*.vue');
const views_path = '/src/views/';
export function loadInitRouter(routes, yyMenuArr) {
let last_routes = routeParseQiankun(routes, [...yyMenuArr]);
// https://github.com/rollup/plugins/tree/master/packages/dynamic-import-vars#limitations
// return () => import(/* @vite-ignore */ itemPath);
last_routes.forEach((item, index) => {
if (item.component_str) {
let globPath = views_path + item.component_str + '.vue';
if (views_glob[globPath]) {
item.component = views_glob[globPath];
}
}
});
return last_routes;
}