import { ref } from 'vue'; import { List as TenantList } from '@/api/imTenant'; export const policyTenantOptions = ref([{ label: '全局默认', value: 0 }]); export async function loadPolicyTenantOptions(includeGlobal = true) { const res = await TenantList({ page: 1, perPage: 100 }); const tenants = (res?.list || []).map((item) => ({ label: `${item.name}(${item.code})`, value: item.id, })); policyTenantOptions.value = includeGlobal ? [{ label: '全局默认', value: 0 }, ...tenants] : tenants; return policyTenantOptions.value; } export function parseJSON(value: string, fallback: any) { try { return value ? JSON.parse(value) : fallback; } catch { return fallback; } } export function stringifyJSON(value: any, fallback = '{}') { try { return JSON.stringify(value ?? JSON.parse(fallback)); } catch { return fallback; } }