@it-enterprise/web-app-runtime

3.0.8 • Public • Published

web-app-runtime

Project setup

npm install

Compiles and minifies for production

npm run build

Using plugin

import Vue from 'vue'
import store from '@/store'
import model from '@/app-model'
import appRunner from '@it-enterprise/web-app-runtime'
import auth from '@it-enterprise/jwtauthentication'
import router from '@/router'

Vue.use(appRunner, {
  store, // ref to vuex store
  auth, // ref to authentication core 
  router, // ref to vue router
  model // ref to application model
})

// attach event listeners to auth event bus
Vue.$authEventBus.onBeforeSignIn(() => {
  store.commit('CLEAR_ERROR')
})
Vue.$authEventBus.onAfterSignIn(() => {
})
Vue.$authEventBus.onSignInError((message) => {
  store.commit('SET_ERROR', message)
})
Vue.$authEventBus.onStartProcessing(() => {
  store.commit('SET_PROCESSING', true)
})
Vue.$authEventBus.onEndProcessing(() => {
  store.commit('SET_PROCESSING', false)
})

Vue.$authEventBus.onUpdateUserData(() => {
  store.dispatch('SET_ADDITIONAL_DATA')
  Vue.$authCore.SetUserRole('User')
})

Installed Vue global properties

Vue.$authCore

Name Member type Description
isAuthenticated property true Пользователь авторизовался
false Анонимный пользователь
userRole property Роль пользователя в приложении
userLogin property Логин пользователя
SignIn method Аутентифицироваться
Агрументы: params: { email:string, password:string, keepSigned:boolean }
SignOut method Выход из системы
SetUserRole method Установить роль пользователя
Аргументы: userRole:string

Vue.$routerCore

Name Member type Description
UserRole property Роль текущего пользователя (в том числе анонимного)
GetSignInPage method Получить страницу аутентификации
HaveAccessToPage method Проверка наличия доступа к странице
Аргументы: page:AppPage
GetHomePage method Получить домашнюю страницу (с учетом домашних страниц согласно ролей)
GoToSignIn method Перейти на страницу аутентификации
GoToHomePage method Перейти на домашнюю страницу (с учетом роли пользователя)
SetAdditionalUserDataHandler method Привязать функцию получения дополнительных данных о пользователе. Вызывается после аутентификации

Шина событий аутентификации Vue.$authEventBus

Описание методов привязки к событиям:

Name Description
onBeforeSignIn Срабатывает непосредственно перед аутентификацией
onAfterSignIn Срабатывает непосредственно после успешной аутентификации
onSignOut Срабатывает непосредственно после выхода пользователя из системы
onSignInError Срабатывает при ошибке входа. Передаёт в обработчик текст ошибки
onStartProcessing Срабатывает при старте любого обращения к API
onEndProcessing Срабатывает при завершении обращения к API
onUpdateUserData Срабатывает при получении данных о пользователе

Readme

Keywords

Package Sidebar

Install

npm i @it-enterprise/web-app-runtime

Weekly Downloads

129

Version

3.0.8

License

ISC

Unpacked Size

4.04 MB

Total Files

51

Last publish

Collaborators

  • dev2it
  • bakharev
  • tokarchuk_it_enterprise
  • aleksandr.shevchenko
  • greatchief