* update dependencies to latest version * add mising dependencies * Syntax updates and such * Reorganize files and translate login to portuguese * Add i18n to buttons * Error translations and some bug fixes * Add i18n to files * i18n on prompts * update search * Prompts and Sidebar in * i18n to the header * Change to YAML * alphabetical order * # Add simplified Chinese language (#180) * Add Simplified Chinese and sort by alphabet * Add more text to translations * API Updates * Update zh_cn.yaml (#182) * Api Upgrades * Simplify api and clean zh_cn lang file * Improve error logging * Fix some route bugs and separate login styles * better organization * Fix bug on api * Build assets Tue, Aug 1, 2017 11:32:23 AM * Rename users path and fix bug scroll event * Start Portuguese translation and file org * Add more to the PT translation * Add show * Build assets Tue Aug 1 12:01:39 GMTST 2017 * Add locale to cofnig * Update portuguese translation * You can change the language :) * :D * Build assets Tue Aug 1 17:50:31 GMTST 2017 * Update requestContext variable names * Remove assets * Build assets Tue Aug 1 20:48:21 GMTST 2017 Former-commit-id: 08f373725c14990f61dbb00bea43118c496c5d32 [formerly 281e23007c79dac1e9b86424201891a99d20f73a] [formerly b1b73f42debbce06b4f36e4cf97e319789c85b9f [formerly d8bc73390c37409efa60804d94779a7629944caa]] Former-commit-id: 92e99405cbf9935d1cf77b0fe70b122fca552be6 [formerly 3cd365e862f2a54ada60e226a19ac607b8d0c43b] Former-commit-id: cf9815114ac686cdf75a6b1cba15adafe493d083
65 lines
1.7 KiB
JavaScript
65 lines
1.7 KiB
JavaScript
import cookie from './cookie'
|
|
import store from '@/store'
|
|
import router from '@/router'
|
|
|
|
function parseToken (token) {
|
|
let path = store.state.baseURL
|
|
if (path === '') path = '/'
|
|
document.cookie = `auth=${token}; max-age=86400; path=${path}`
|
|
let res = token.split('.')
|
|
let user = JSON.parse(window.atob(res[1]))
|
|
store.commit('setJWT', token)
|
|
store.commit('setUser', user)
|
|
}
|
|
|
|
function loggedIn () {
|
|
return new Promise((resolve, reject) => {
|
|
let request = new window.XMLHttpRequest()
|
|
request.open('GET', `${store.state.baseURL}/api/auth/renew`, true)
|
|
request.setRequestHeader('Authorization', `Bearer ${cookie('auth')}`)
|
|
|
|
request.onload = () => {
|
|
if (request.status === 200) {
|
|
parseToken(request.responseText)
|
|
resolve()
|
|
} else {
|
|
reject(new Error(request.responseText))
|
|
}
|
|
}
|
|
request.onerror = () => reject(new Error('Could not finish the request'))
|
|
request.send()
|
|
})
|
|
}
|
|
|
|
function login (user, password) {
|
|
let data = {username: user, password: password}
|
|
return new Promise((resolve, reject) => {
|
|
let request = new window.XMLHttpRequest()
|
|
request.open('POST', `${store.state.baseURL}/api/auth/get`, true)
|
|
|
|
request.onload = () => {
|
|
if (request.status === 200) {
|
|
parseToken(request.responseText)
|
|
resolve()
|
|
} else {
|
|
reject(request.responseText)
|
|
}
|
|
}
|
|
request.onerror = () => reject(new Error('Could not finish the request'))
|
|
request.send(JSON.stringify(data))
|
|
})
|
|
}
|
|
|
|
function logout () {
|
|
let path = store.state.baseURL
|
|
if (path === '') path = '/'
|
|
document.cookie = `auth='nothing'; max-age=0; path=${path}`
|
|
router.push({path: '/login'})
|
|
}
|
|
|
|
export default {
|
|
loggedIn: loggedIn,
|
|
login: login,
|
|
logout: logout
|
|
}
|