Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Добавлена общая схема интеграции виджета

...

Info

This article is in English HBW widget integration manual

Общая схема

Image Added

  1. При открытии страницы ЛК с виджетом, ЛК (приложение-хост), используя public_url из конфига, запросит фронт виджета. Для аутентификации используются логин и токен(названный в конфиге паролем) из конфига
  2. Когда загрузится фронт виджета, он будет посылать запросы с url вида '/widget/...' в ЛК, запросы такого вида принимаются прокси-контроллером (hbw_controller.rb) и перенаправляются в бекэнд виджета.

Конфигурируемые параметры

...

 

Code Block
languageruby
# ANY match 'widget/*path'
def proxy
  method = request.method.downcase.to_sym
  result = request_bpm_backend(params[:path], method, permitted_params)

  if method == :put
    if result
      head :no_content
    else
      head :bad_request
    end
  else
    render json: result
  end
end

private

def permitted_params
  params.symbolize_keys.except(*service_params)
end

def service_params
  %i[controller action path format]
end

 

Встраивание JS

Ниже приведен пример встраивания виджета в веб-страницу. После загрузки JS и CSS из HydraOMS выполняется инициализация виджета данными приложения и сущности, после чего вызывается функция render().

...