|
1 | 1 | # Bitrix24 JS-lib Wrapper
|
2 | 2 |
|
3 |
| - |
| 3 | + |
4 | 4 |
|
5 | 5 | Класс-обертка на JavaScript для стандартной [JS-библиотеки](https://dev.1c-bitrix.ru/rest_help/js_library/index.php) Битрикс24.
|
6 |
| -Позволяет избежать [ада колбеков](http://callbackhell.ru) и работать c REST API Битрикс24 |
7 |
| -с помощью асинхронных функций и асинхронных генераторов ECMAScript 9. |
| 6 | +Данный класс позволяет избежать [ада колбеков](http://callbackhell.ru) и работать c API Битрикс24 |
| 7 | +с помощью асинхронных функций и асинхронных генераторов ECMAScript 9. |
| 8 | + |
| 9 | +[](https://packagist.org/packages/andrey-tech/bx24-wrapper-js) |
| 10 | +[](https://github.com/andrey-tech/bx24-wrapper-js/stargazers) |
| 11 | +[](https://github.com/andrey-tech/bx24-wrapper-js/network) |
| 12 | +[](https://packagist.org/packages/andrey-tech/bx24-wrapper-js) |
8 | 13 |
|
9 | 14 | ## Содержание
|
10 | 15 | <!-- MarkdownTOC levels="1,2,3,4,5,6" autoanchor="true" autolink="true" -->
|
|
31 | 36 |
|
32 | 37 | - Стандартная [JS-библиотека](https://dev.1c-bitrix.ru/rest_help/js_library/index.php) Битрикс24,
|
33 | 38 | которая представляет собой JS SDK для REST, что позволяет обращаться к REST прямо из front-end приложения
|
34 |
| -не погружаясь в реализацию авторизации по OAuth 2.0. |
35 |
| -Библиотека подключается следующим образом: |
| 39 | +не погружаясь в реализацию авторизации по OAuth 2.0. Для внешних приложений и вебхуков библиотека использоваться не может. |
| 40 | +Подключение библиотеки: |
36 | 41 | ```html
|
37 | 42 | <script src="//api.bitrix24.com/api/v1/"></script>
|
38 | 43 | ```
|
|
47 | 52 | <a id="%D0%9A%D0%BB%D0%B0%D1%81%D1%81-bx24wrapper"></a>
|
48 | 53 | ## Класс BX24Wrapper
|
49 | 54 |
|
| 55 | +Создание нового объекта класса `BX24Wrapper`: |
| 56 | + |
50 | 57 | - `new BX24Wrapper();`
|
51 | 58 |
|
52 | 59 | Дополнительные параметры работы устанавливаются через свойства объекта класса `BX24Wrapper`.
|
|
55 | 62 | ----------------------- | ---------------- | --------
|
56 | 63 | `batchSize` | 50 | Максимальное число команд в одном пакете запросе ([не более 50](https://dev.1c-bitrix.ru/rest_help/general/lists.php))
|
57 | 64 | `throttle` | 2 | Максимальное число запросов к API в секунду ([не более 2-х запросов в секунду](https://dev.1c-bitrix.ru/rest_help/rest_sum/index.php))
|
58 |
| -`progress` | `percent => {};` | Функция для контроля прогресса выполнения запросов в методах `callListMethod()`, `fetchList()`, `callLongBatch()` и `callLargeBatch()` (`percent` - прогресс, %) |
| 65 | +`progress` | `percent => {};` | Функция для контроля прогресса выполнения запросов в методах `callListMethod()`, `fetchList()`, `callLongBatch()` и `callLargeBatch()` (`percent` - прогресс 0-100, %) |
59 | 66 |
|
60 | 67 | ```js
|
61 | 68 | (async () => {
|
|
64 | 71 | // Устанавливаем максимальное число команд в одном пакете запросе
|
65 | 72 | bx24.batchSize = 25;
|
66 | 73 |
|
67 |
| - // Устанавливаем троттлинг запросов к API на уровне 1 запрос в 2 секунды |
| 74 | + // Устанавливаем троттлинг запросов к API Битрикс24 на уровне 0,5 запросов в секунду, |
| 75 | + // то есть 1 запрос в 2 секунды |
68 | 76 | bx24.throttle = 0.5;
|
69 | 77 |
|
70 |
| - // Устанавливаем собственную функцию для контроля прогресса выполнения запросов в процентах |
| 78 | + // Устанавливаем собственную функцию для вывода в веб-консоль прогресса выполнения запросов в процентах |
71 | 79 | bx24.progress = percent => console.log(`Progress: ${percent}%`);
|
72 | 80 |
|
73 | 81 | })().catch(error => console.log('Error:', error));
|
|
114 | 122 | (async () => {
|
115 | 123 | let bx24 = new BX24Wrapper();
|
116 | 124 |
|
117 |
| - // Устанавливаем собственную функцию для отображения прогресса выполнения загрузки в процентах |
| 125 | + // Устанавливаем собственную функцию для вывода в веб-консоль прогресса выполнения запросов в процентах |
118 | 126 | bx24.progress = percent => console.log(`progress: ${percent}%`);
|
119 | 127 |
|
120 | 128 | let params = {
|
|
149 | 157 | (async () => {
|
150 | 158 | let bx24 = new BX24Wrapper();
|
151 | 159 |
|
152 |
| - // Устанавливаем собственную функцию для отображения прогресса выполнения загрузки в процентах |
| 160 | + // Устанавливаем собственную функцию для вывода в веб-консоль прогресса выполнения запросов в процентах |
153 | 161 | bx24.progress = percent => console.log(`progress: ${percent}%`);
|
154 | 162 |
|
155 | 163 | let params = {
|
|
317 | 325 | ## Обработка ошибок
|
318 | 326 |
|
319 | 327 | При возникновении ошибок в методах класса выбрасываются исключения.
|
320 |
| -Последний объект [ajaxResult](https://dev.1c-bitrix.ru/rest_help/js_library/rest/callMethod.php), полученный от стандартной библиотеки Битрикс24, доступен через вызов метода `getLastResult()`. |
| 328 | +Последний объект [ajaxResult](https://dev.1c-bitrix.ru/rest_help/js_library/rest/callMethod.php), |
| 329 | +полученный от стандартной библиотеки Битрикс24, может быть получен посредством метода `getLastResult()`. |
321 | 330 |
|
322 | 331 | ```js
|
323 | 332 | (async () => {
|
|
340 | 349 | <a id="%D0%90%D0%B2%D1%82%D0%BE%D1%80"></a>
|
341 | 350 | ## Автор
|
342 | 351 |
|
343 |
| -© 2019-2020 andrey-tech |
| 352 | +© 2019-2021 andrey-tech |
344 | 353 |
|
345 | 354 | <a id="%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F"></a>
|
346 | 355 | ## Лицензия
|
|
0 commit comments