/***
 * nosession_config.js
 * 说明：
 * 这个文件包含了无需登录即可访问的配置项。这些配置项包含了应用的公共信息，
 * 比如接口地址、公共常量等，不包含任何敏感信息。
 *
 * 注意：
 * 登录后的敏感配置信息会在 config.js 文件中进行管理。登录状态下，用户
 * 可以访问 config.js 中的更高级配置内容。
 *
 * 使用场景：
 * 该文件适用于在用户未登录时也能使用的配置（例如：公共接口路径、静态资源等）。
 */
"use strict";
import { util } from './util/util.js'
import {menuSettingsConfig} from "./component/menu/menuSettingsConfig.js";
class config{
    //获取env来确认环境（ prd：生产环境 test：测试环境， dev：开发环境）
    static getEnv(){
        let env='test';
        return env;
    }
    static getConfigJson(){
        if(!util.isNull(this.configJson)){
            return this.configJson;
        }
        this.configJson={}
        this.configJson.contextPath = '/gd-api';//后端的别名
        this.configJson.contextFrontPath = '/sys';//前端别名
        this.configJson.inedxHtmlFilePath='/khc/index.html';//index页面路径
        this.configJson.autocompleteLoginUsername='khcadmin';//自动填充用户名（此配置适用于演示，其他阶段为空即可）
        this.configJson.autocompleteLoginPassword='Khc123!@#';//自动填充密码 （此配置适用于演示，其他阶段为空即可）
        this.configJson.baseURL='';//使用Nginx 无需代理，为空即可。
        this.configJson.pubKey='04707EB84B010E5F25F37B047F37DACA389AB7F912B9B4E26041EB79EE40C9AF8196DC06C717182DADB8076CB69741E5E8D0672B01D6DC7712A08D589442E25E50';
        this.configJson.systemFullName='CCUI 2.0 演示工程';//系统全称
        this.configJson.systemShortName='CCUI 演示工程';//系统简称
        this.configJson.iconPath='../css/img/favicon.ico';//icon路径
        this.configJson.logoPath='../css/img/logo.png';//logo路径
        this.configJson.loadOutDescription='欢迎使用 CCUI 快速开发平台！\n我们鼓励所有用户积极参与平台的功能优化和代码贡献。\n您的反馈和建议对我们非常重要，共同推进平台的发展与完善。'//加载页面输出的描述
        this.configJson.loadOutLink='%c欲了解更多信息和参与方式，请访问我们的：https://ccui.capcloud.kanhouchu.com\n\n社会招聘：https://www.capcloud.com.cn/gywm/zxns/syzp/\n校园招聘：https://www.capcloud.com.cn/gywm/zxns/xyzp/\n'//加载页面输出的链接
        this.configJson.logLevel='';//默认为空，可配置 debug 为调试
        //====url====
        this.configJson.myActionUrl=this.configJson.contextPath+'/api/data/myAction';
        this.configJson.nosessionActionUrl=this.configJson.contextPath+'/nosession/data/myAction';
        return this.configJson;
    }
    //获取默认展示的页面编码
    static getHomePageCode(){
        return this.getConfigJson().homePageCode;
    }
    //获取默认的请求头
    static getRequestConfig(){
        let token=config.getToken()
        let requestConfig={
            headers:{
                Authorization:'Bearer '+token
            }
        }
        return requestConfig;
    }
    static setToken(token){
        util.setCookie('token',token);
    }
    //获取默认的请求头
    static getToken(){
        let token=util.getCookie('token');
        if(util.isNull(token)){
            util.toLogin();
        }else{
            return token;
        }
    }
    static removeToken(){
        util.removeCookie('token')
    }
    //获取 SM2 公钥
    static getSM2PubKey(){
        return this.getConfigJson().pubKey;
    }
    //获取 pageCode
    static getPageCode(){
        let pageCode='';
        let urlHash = window.location.hash;
        if (!util.isNull(urlHash)) {
            pageCode = urlHash.substring(1, urlHash.length);
        }
        let urlPageCode=util.getUrlParam('pageCode');
        if(!util.isNull(urlPageCode)){
            pageCode=urlPageCode;
        }
        return pageCode;
    }
    //获取 后台地址，跳转activiti用到
    static getSystemUrl(){
        return this.getConfigJson().serverUrl;
    }
    //获取 minio地址，
    static getMinioUrl(){
        return this.getConfigJson().minioUrl;
    }
    //获取 aws地址,配合minio缩放原图使用，
    static getAwsUrl(){
        return this.getConfigJson().awsUrl;
    }
    //获取 websocket地址
    static getWebsocketUrl(){
        return this.getConfigJson().websocketUrl;
    }
    //获取 index url
    static getIndexUrl(){
        return window.location.origin+this.getConfigJson().contextFrontPath+this.getConfigJson().inedxHtmlFilePath;
    }
}
export {config};
