Класс B24HelperManager
Является универсальным классом, который управляет начальными данными приложения в Битрикс24. Он предоставляет методы для загрузки данных, управления профилем, приложением, оплатой, лицензией, валютами и опциями, а также для работы с клиентом Pull
.
TIP
Работу с B24HelperManager можно протестировать в примере.
Инициализировать нужно черех хук useB24Helper.initB24Helper
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
async function init(): Promise<void>
{
// ... ////
$b24 = await initializeB24Frame()
await initB24Helper(
$b24,
[
LoadDataType.Profile,
LoadDataType.App,
LoadDataType.Currency,
LoadDataType.AppOptions,
LoadDataType.UserOptions,
]
)
// ... ////
}
// ... ////
Методы
getLogger
getLogger(): LoggerBrowser
Возвращает текущий логгер.
setLogger
setLogger(
logger: LoggerBrowser
): void
Устанавливает логгер.
destroy
destroy(): void
Уничтожает клиент Pull
loadData
async loadData(
dataTypes: LoadDataType[] = [
LoadDataType.App,
LoadDataType.Profile
]
): Promise<void>
Загружает данные по указанным типам.
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
async function init(): Promise<void>
{
// ... ////
$b24 = await initializeB24Frame()
await initB24Helper(
$b24,
[
LoadDataType.Profile,
LoadDataType.App,
LoadDataType.AppOptions
]
)
// ... ////
}
// ... ////
async function reloadData(): Promise<void>
{
// ... ////
return getB24Helper().loadData([
LoadDataType.Profile,
LoadDataType.App,
LoadDataType.AppOptions
])
.then(() => {
// ... ////
})
}
usePullClient
usePullClient(
prefix: string = 'prefix',
userId?: number
): B24HelperManager
Инициализирует использование клиента Pull
subscribePullClient
subscribePullClient(
callback: (message: TypePullMessage) => void,
moduleId: string = 'application'
): B24HelperManager
Подписывается на события клиента Pull
startPullClient
startPullClient(): void
Запускает клиент Pull
getModuleIdPullClient
getModuleIdPullClient(): string
Возвращает moduleId
из subscribePullClient
Стоит использовать при отправке сообщения в Pull
Геттеры
isInit
get isInit(): boolean
Возвращает true
, если данные инициализированы.
import { useB24Helper } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24)
// ... ////
$logger.info(getB24Helper().isInit)
// ... ////
profileInfo
get profileInfo(): ProfileManager
Возвращает данные профиля.
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24, [LoadDataType.Profile])
// ... ////
$logger.info(getB24Helper().profileInfo.data)
// ... ////
appInfo
get appInfo(): AppManager
Возвращает данные статуса приложения.
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24, [LoadDataType.App])
// ... ////
$logger.info(getB24Helper().appInfo.data)
// ... ////
paymentInfo
get paymentInfo(): PaymentManager
Возвращает данные оплаты приложения.
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24, [LoadDataType.App])
// ... ////
$logger.info(getB24Helper().paymentInfo.data)
// ... ////
licenseInfo
get licenseInfo(): LicenseManager
Возвращает данные лицензии Битрикс24.
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24, [LoadDataType.App])
// ... ////
$logger.info(getB24Helper().licenseInfo.data)
// ... ////
currency
get currency(): CurrencyManager
Возвращает данные валюты.
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24, [LoadDataType.Currency])
// ... ////
$logger.info({
baseCurrency: getB24Helper().currency.baseCurrency,
currencyList: getB24Helper().currency.currencyList
})
// ... ////
appOptions
get appOptions(): OptionsManager
Возвращает опции приложения.
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24, [LoadDataType.AppOptions])
// ... ////
$logger.info(getB24Helper().appOptions.data)
// ... ////
userOptions
get userOptions(): OptionsManager
Возвращает опции пользователя.
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24, [LoadDataType.UserOptions])
// ... ////
$logger.info(getB24Helper().userOptions.data)
// ... ////
forB24Form
get forB24Form(): TypeB24Form
Возвращает данные для передачи в форму обратной связи (CRM-форму) Битрикс24
Поле | Тип | Описание |
---|---|---|
app_code | string | Код приложения в Битрикс24 |
app_status | string | Статус приложения |
payment_expired | BoolString | Строковое представление булевого значения, указывающее, истек ли срок оплаты ('Y' для истекшего, 'N' для активного) |
days | number | Количество дней до истечения срока оплаты или после истечения |
b24_plan | string | Идентификатор тарифного плана Битрикс24 (актуально для облачных версий) |
c_name | string | Имя пользователя. |
c_last_name | string | Фамилия пользователя. |
hostname | string | Адрес Битрикс24 (например, name.bitrix24.com ). |
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24, [LoadDataType.App, LoadDataType.Profile])
// ... ////
$logger.info(getB24Helper().forB24Form)
// ... ////
TIP
Работу с формы обратной связи (CRM-форма) Битрикс24 можно протестировать в примере.
hostName
get hostName(): string
Возвращает адрес Битрикс24
import { useB24Helper } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24)
// ... ////
$logger.info(getB24Helper().hostName)
// ... ////
isSelfHosted
get isSelfHosted(): boolean
Возвращает true
, если приложение развернуто на собственном сервере.
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24, [LoadDataType.App])
// ... ////
$logger.info(getB24Helper().isSelfHosted)
// ... ////
primaryKeyIncrementValue
get primaryKeyIncrementValue(): number
Возвращает шаг инкремента для полей типа ID.
Для коробки 1
, для облака - 2
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24, [LoadDataType.App])
// ... ////
$logger.info(getB24Helper().primaryKeyIncrementValue)
// ... ////
b24SpecificUrl
get b24SpecificUrl(): Record<keyof typeof TypeSpecificUrl, string>
export const TypeSpecificUrl = {
MainSettings: 'MainSettings',
UfList: 'UfList',
UfPage: 'UfPage'
} as const
Возвращает специфические URL для Битрикс24
import { useB24Helper, LoadDataType } from '@bitrix24/b24jssdk'
const { initB24Helper, getB24Helper } = useB24Helper()
// ... ////
await initB24Helper($b24, [LoadDataType.App])
// ... ////
$logger.info(getB24Helper().b24SpecificUrl.MainSettings)
// ... ////