12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /* 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;
- },
- };
|