bitrix24-library v0.1.4
bitrix24-library
Promise-обёртка для работы с JavaScript REST API Bitrix24 и набор новых методов
Установка и подключение
npm i -S bitrix24-library@latestimport Bitrix24 from 'bitrix24-library';
Bitrix24.init().then((BX24) => {
console.log(BX24.getAuth());
const RestCall = BX24.createBatch();
RestCall.batch({
info: ['app.info'],
profile: ['profile'],
}).then(console.info);
});Подключение и вызов методов на примере Vue.js
// main.js
import { createApp } from 'vue';
import Bitrix24 from 'bitrix24-library';
import App from './App.vue';
Bitrix24.init().then((BX24) => {
createApp(App).provide('$BX24', BX24).mount('#app');
});<script lang="ts">
// Options API
export default {
mounted() {
console.info(this.$BX24.getAuth());
const RestCall = this.$BX24.createBatch();
RestCall.batch({
info: ['app.info'],
profile: ['profile'],
}).then(console.info);
},
inject: ['$BX24'],
};
</script>
<script setup lang="ts">
// Composition API
import { inject } from 'vue';
import type { IBitrix24Library } from 'bitrix24-library';
const $BX24: IBitrix24Library | undefined = inject('$BX24');
console.info($BX24.getAuth());
const RestCall = $BX24.createBatch();
RestCall.batch({
info: ['app.info'],
profile: ['profile'],
}).then(console.info);
</script>Битрикс24
Системные функции
.init()— Добавляет в список обработчик события "библиотека готова к работе".install([callback])— Возможность установить обработчик события "приложение запускается первый раз для текущего пользователя". Если в качестве обработчика передана строка, то она считается ссылкой на js-файл, который нужно загрузить и выполнить при срабатывании события.installFinish()— Функция, сигнализирующая об окончании работы инсталлятора или настройщика приложения.getAuth()— Получение текущих данных для авторизации через OAuth 2.0.refreshAuth()— Принудительное обновление ключа авторизации
Вызов методов REST
.callMethod(method[, params])— Метод вызывает указанный метод REST-сервиса с указанными параметрами.callBatch(calls[, bHaltOnError])— Пакетное выполнение запросов по несколько элементов (в настоящий момент не более, чем по 50).callBind(event, handler[, authType[, callback]])— Интерфейс, регистрирующий новый обработчик события.callUnbind(event, handler[, authType[, callback]])— Интерфейс, удаляющий зарегистрированный обработчик события
Настройки приложения
.userOption— Работа с настройками текущего пользователя.appOption— Работа с общими настройками приложения. Установка значений настроек приложения доступа только пользователям с правом управления приложением (.isAdmin())
Показ системных диалогов
.selectUser()— Показать стандартный диалог одиночного выбора пользователя.selectUsers()— Показать стандартный диалог множественного выбора пользователей.selectAccess([value])— Показать стандартный диалог выбора прав доступа.selectCRM([params])— Показать стандартный диалог выбора сущности CRM
Встраивание приложений
.placement.info()— Получение информации о контексте вызова.placement.getInterface()— Получение информации о js-интерфейсе текущего места встраивания: списке возможных команд и событий.placement.call(command, params)— Вызов зарегистрированной команды интерфейса.placement.bindEvent(eventName)— Установка обработчика события интерфейса
Дополнительные методы
.isAdmin()— Определяет, имеет ли текущий пользователь права на управление приложениями.getLang()— Возвращает идентификатор языка текущего портала.resizeWindow(width, height)— Изменяет размер фрейма с приложением.fitWindow()— Устанавливает размер фрейма с приложением в соответствии с размерами содержимого фрейма.reloadWindow()— Перезагружает страницу портала с приложением.setTitle(title)— Устанавливает заголовок страницы.ready()— Устанавливает обработчик события "DOM-структура документа готова к работе".isReady()— Флаг "DOM-структура документа готова к работе".proxy(thisObject)— Аналогична BX.proxy.closeApplication()— Метод закрывает открытое модальное окно с приложением.getDomain([isOrigin])— Возвращает адрес портала Битрикс24.openApplication(params)— Метод открывает приложение.openPath(path[, callback])— Метод открывает указанный путь внутри портала в слайдере.proxyContext()— При вызове изнутри прокси-функцию выдаст ссылку на оригинальный контекст выполнения прокси-функции.scrollParentWindow(scroll)— Метод прокручивает родительское окно.bind(element, eventName, callback)— Устанавливает функцию callback в качестве обработчика события eventName объекта element, возвращает функцию для отписки.unbind()с теми же параметрами.unbind(element, eventName, callback)— Убирает функцию callback в качестве обработчика события eventName объекта element.getScrollSize()— Функция возвращает внутренние размеры фрейма приложения.loadScript(script)— Загружает и выполняет клиентский js-файл.im.callTo(userId[, video])— Звонок по внутренней связи.im.phoneTo(number)— Звонок на телефонный номер.im.openMessenger(dialogId)— Открытие окна мессенджера.im.openHistory(dialogId)— Открытие окна истории
Новые методы
.createBatch([handlerList[, BatchClass]])— Создание пакетного выполнения запросов, надстройка над.callBatch()(подробнее).openLink(url[, inNewTab])— Обёртка над методом.openPath(), открывает адрес в новой вкладке, если не можем открыть в том же окне или используем метод на телефоне. Чтобы сразу открыть ссылку в новой вкладке, передайте вторым параметромtrue.isMobile()— is-mobile
