系统配置
大约 2 分钟
前端系统配置分为无鉴权配置项和鉴权配置项,无鉴权配置项不需要登录即可访问,鉴权配置项需要登录后才能访问。
鉴权配置项
这是系统中最常用的配置项,需要登录后才能访问,可以直接在状态管理中获取配置项。
注意
不要自己到后台接口擦查询,特别是使用 configurations
接口,这个接口是维护配置项使用的,非管理员无法访问。
添加新的配置项
如果添加了新的配置项,并且前端需要读取这个配置项,那么需要添加新的配置项类型。 需要在 src/store/configuration/types.ts
中添加新的配置项类型,声明一个 interface
,并让 BpConfiguration
继承它。
例如我要新增一个 TicketConfiguration
的类型,那么需要进行以下操作。
/**
* BP 系统配置信息(仅前端可用的),这里切记值类型一定是字符串,因为接口返回的都是字符串
*/
export interface BpConfiguration
extends TicketConfiguration,
CallRecordConfiguration,
CallScreenConfiguration,
SoftPhoneConfiguration,
BrandingConfiguration,
LocalizationConfiguration,
Record<string, string | undefined> {}
/** 工单的配置项(仅前端可用的),这里切记值类型一定是字符串,因为接口返回的都是字符串。 */
interface TicketConfiguration {
/** 工单查询最大天数 默认90天 */
ticketQueryDayRangeMax?: string;
/** 员工工单获取方式 1-批量获取,0-逐条获取 */
ticketFetchType?: '0' | '1';
}
提示
如何在后端添加前端可用的配置项详见 系统配置,其中有一个名为 isPublic
的字段。
使用配置项
直接使用状态管理 useConfigurationStore
中的配置项即可,解构出来的 configuration
是一个 BpConfiguration
类型。
const { configuration } = useConfigurationStore();
无鉴权配置项
无鉴权配置项不需要登录即可访问,需要访问接口 configurations/expose/${category}
,默认框架中没有查询无鉴权配置项的接口,需要自己实现。 可以根据自己的业务需求添加状态管理。其中 category
支持哪些是在 系统配置-添加无鉴权配置项 中配置所得。
注意
如果是多租户需要在 header
中添加 Tenant-Sn
,否则将无法获取数据。