/* eslint-disable no-console */ export default { get user() { const val = sessionStorage.getItem('user'); try { if (val) return JSON.parse(val); } catch (err) { console.error(err); } return null; }, set user(userinfo) { sessionStorage.setItem('user', JSON.stringify(userinfo)); if (this.unit) { this.lastUnit = this.unit; } }, get token() { return sessionStorage.getItem('token') || ''; }, set token(token) { sessionStorage.setItem('token', token); }, get isGuest() { return !this.user || this.user.role === 'guest'; }, get unit() { if (!this.user || this.user.iss !== 'platform') return undefined; const unit = this.user.sub.split('@', 2)[1] || 'master'; return unit; }, get platform() { const unit = this.unit || this.lastUnit; return unit === 'master' ? 'master' : 'school'; }, set lastUnit(value) { localStorage.setItem('unit', value); }, get lastUnit() { return localStorage.getItem('unit'); }, save({ userinfo, token }) { this.user = userinfo; this.token = token; }, };