@it-enterprise/web-app-runtime
v3.0.8
Published
web-app-runtime
Keywords
Readme
web-app-runtime
Project setup
npm installCompiles and minifies for production
npm run buildUsing 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| Срабатывает при получении данных о пользователе |
