Класс 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)
// ... ////