iOS SDK
IDPersonalCabinetManagerProtocol
Протокол менеджера с таблиц ей виджетов личного кабинета
public protocol SIDPersonalCabinetManagerProtocol {
var tableView: UIView { get }
func updateData()
static func loadCacheableImage(from urlString: String?) async -> UIImage?
static func loadCacheableImage(from urlString: String?, completion: @escaping (UIImage?) -> Void)
}
, где
tableView
Таблица виджетов личного кабинета
updateData()
Позволяет обновить данные представления, вызывая соответствующую обработку данных и перерисовку UI.
loadCacheableImage(from urlString: String?)
Метод, который загружает кэшируемое изображение по URL-адресу асинхронно. И возвращает загруженное изображение или nil, если загрузка не удалась.
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| urlString | Нет | String | URL-адрес изображения |
loadCacheableImage(from urlString: String?, completion: @escaping (UIImage?) -> Void)
Загружает кэшируемое изображение по URL-адресу и вызывает обработчик по завершении загрузки. Принимает загруженное изображение или nil, если загрузка не удалась.
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| urlString | Нет | String | URL-адрес изображения |
| completion | Нет | @escaping (UIImage?) -> Void | Замыкание, которое вызывается после завершения загрузки изображения |
SIDPersonalCabinetContainerFactory
Класс используется для создания контейнера единого личного кабинета и регистрации кастомных виджетов.
public class SIDPersonalCabinetContainerFactory {
public init() {}
public func createContainer(additionalPath: String?,
version: Int?,
heightDelegate: SIDTableViewHeightDelegate,
elkEventHandler: SIDElkEventHandler?) -> SIDPersonalCabinetManager
public static func registerCustomWidgetView(name: String, view: SIDPCCustomWidgetViewProtocol)
}
, где
метод createContainer
Создает экземпляр менеджера личного кабинета (SIDPersonalCabinetManager).
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| additionalPath | Да | String | Дополнительный путь запроса |
| version | Да | Int | Версия приложения |
| heightDelegate | Да | SIDTableViewHeightDelegate | Обработчик изменения высоты таблицы |
| elkEventHandler | Да | SIDElkEventHandler? | Обработчик событий от ЕЛК |
Возвращает объект типа SIDPersonalCabinetManager
метод registerCustomWidgetView
Регистрирует кастомный виджет для отображения в едином личном кабинете.
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| name | Да | String | Имя виджета для поиска в json |
| view | Да | SIDPCCustomWidgetViewProtocol | Виджет |
reloginAuthELKLite
Осуществляет приоритетную авторизацию с помощью единого веб-окна.
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| request | Да | SIDAuthRequest | Модель запроса для авторизации. |
| viewController | Да | UIViewController | Контроллер представления для открытия Safari View Controller. |
| delegate | Нет | SIDWebViewDelegateProtocol? | Обработчик событий WebView (опционально). |
public func reloginAuthELKLite(
request: SIDAuthRequest,
viewController: UIViewController,
delegate: SIDWebViewDelegateProtocol?
)