Files
mayfly-go/mayfly_go_web/src/common/sysconfig.ts

107 lines
2.5 KiB
TypeScript
Raw Normal View History

import openApi from './openApi';
// 登录是否使用验证码配置key
const AccountLoginSecurity = 'AccountLoginSecurity';
2023-10-14 16:00:16 +08:00
const UseWatermarkConfigKey = 'UseWatermark';
const MachineConfig = 'MachineConfig';
/**
*
*
* @param key key
* @returns
*/
export async function getConfigValue(key: string): Promise<string> {
return (await openApi.getConfigValue({ key })) as string;
}
/**
* bool类型系统配置值
*
* @param key key
* @param defaultValue
* @returns ture1: true其他: false
*/
export async function getBoolConfigValue(key: string, defaultValue: boolean): Promise<boolean> {
2023-06-17 15:15:03 +08:00
const value = await getConfigValue(key);
return convertBool(value, defaultValue);
}
/**
*
*
* @returns
2023-06-17 15:15:03 +08:00
*/
export async function getAccountLoginSecurity(): Promise<any> {
2023-06-17 15:15:03 +08:00
const value = await getConfigValue(AccountLoginSecurity);
if (!value) {
2023-06-17 15:15:03 +08:00
return null;
}
2023-06-17 15:15:03 +08:00
const jsonValue = JSON.parse(value);
jsonValue.useCaptcha = convertBool(jsonValue.useCaptcha, true);
jsonValue.useOtp = convertBool(jsonValue.useOtp, true);
return jsonValue;
}
/**
2023-10-14 00:38:51 +08:00
*
*
* @returns
*/
2023-10-14 16:00:16 +08:00
export async function useWatermark(): Promise<any> {
const value = await getConfigValue(UseWatermarkConfigKey);
2023-10-31 12:36:04 +08:00
const defaultValue = {
isUse: true,
};
2023-10-14 00:38:51 +08:00
if (!value) {
2023-10-31 12:36:04 +08:00
return defaultValue;
}
try {
const jsonValue = JSON.parse(value);
// 将字符串转为bool
jsonValue.isUse = convertBool(jsonValue.isUse, true);
return jsonValue;
} catch (e) {
return defaultValue;
2023-10-14 00:38:51 +08:00
}
2023-06-17 15:15:03 +08:00
}
2023-08-23 22:09:41 +08:00
/**
* LDAP登录配置
*
* @returns
*/
export async function getLdapEnabled(): Promise<any> {
const value = await openApi.getLdapEnabled();
return convertBool(value, false);
}
/**
*
*
* @returns
*/
export async function getMachineConfig(): Promise<any> {
const value = await getConfigValue(MachineConfig);
const defaultValue = {
// 默认1gb
uploadMaxFileSize: '1GB',
};
if (!value) {
return defaultValue;
}
try {
const jsonValue = JSON.parse(value);
return jsonValue;
} catch (e) {
return defaultValue;
}
}
function convertBool(value: string, defaultValue: boolean) {
if (!value) {
return defaultValue;
}
return value == '1' || value == 'true';
}