diff --git a/src/assets/mapUtils/map.ts b/src/assets/mapUtils/map.ts index 3f93001..5d40c8d 100644 --- a/src/assets/mapUtils/map.ts +++ b/src/assets/mapUtils/map.ts @@ -31,7 +31,6 @@ export const Map = { }).then((res) => { AMap = res; const { zoom, center, mapStyle } = { ...defaultOption, ...option }; - console.log('option', option, center); //基本地图加载 this.map = new AMap.Map(el, { resizeEnable: true, diff --git a/src/components/secondaryScreen/screen-right/threeR.vue b/src/components/secondaryScreen/screen-right/threeR.vue index 2e8d504..e504605 100644 --- a/src/components/secondaryScreen/screen-right/threeR.vue +++ b/src/components/secondaryScreen/screen-right/threeR.vue @@ -86,8 +86,10 @@ setValue(result, page); } } catch { - const { result, page } = JSON.parse(getSession(PAGE2_RIGHT3)); - setValue(result, page); + const { result, page } = getSession(PAGE2_RIGHT3) ? JSON.parse(getSession(PAGE2_RIGHT3)) : {}; + if (result) { + setValue(result, page); + } } } @@ -242,4 +244,4 @@ color: #8291a9; border: none; } - \ No newline at end of file + diff --git a/src/store/modules/storeType.ts b/src/store/modules/storeType.ts new file mode 100644 index 0000000..8b1ddb5 --- /dev/null +++ b/src/store/modules/storeType.ts @@ -0,0 +1,30 @@ +export interface RoleInfo { + roleName: string; + value: string; +} + +export interface UserInfo { + id: string | number; + userId: string | number; + username: string; + realname: string; + avatar: string; + desc?: string; + homePath?: string; + tenantid?: string | number; + roles: RoleInfo[]; + orgCode?: string; +} + +export interface LoginInfo { + multi_depart?: string | number; + userInfo?: object; + departs?: []; + tenantList?: []; + isLogin?: boolean; +} + +export interface LoginParams { + username: string; + password: string; +} diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index dec0c77..44409d8 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -4,6 +4,7 @@ import { TOKEN_KEY, USER_INFO_KEY } from '/@/enum/cacheEnum.ts'; import { getBaseLogin, PageEnum } from '/@/enum/pageEnum.ts'; import { getAuthCache, setAuthCache } from '/@/utils/auth.ts'; import { useRouter } from 'vue-router'; +import { LoginInfo, LoginParams, UserInfo } from '/@/store/modules/storeType.ts'; const router = useRouter(); export const useUserStore = defineStore({ @@ -15,32 +16,32 @@ export const useUserStore = defineStore({ loginInfo: null, }), getters: { - getUserInfo() { + getUserInfo(): UserInfo { return (this.userInfo && Object.keys(this.userInfo).length > 0) || getAuthCache(USER_INFO_KEY) || {}; }, - getLoginInfo() { - return this.loginInfo; + getLoginInfo(): LoginInfo { + return this.loginInfo || {}; }, - getToken() { + getToken(): string { return this.token || getAuthCache(TOKEN_KEY); }, }, actions: { - setToken(info) { - this.token = info; + setToken(info: string | undefined) { + this.token = info ? info : ''; setAuthCache(TOKEN_KEY, info); }, - setUserInfo(info) { + setUserInfo(info: UserInfo | null) { this.userInfo = info; setAuthCache(USER_INFO_KEY, info); }, - setLoginInfo(info) { + setLoginInfo(info: LoginInfo | null) { this.loginInfo = info; }, /** * 登录事件 */ - async login(params) { + async login(params: LoginParams) { try { const { goHome = true, mode, ...loginParams } = params; const data = await loginApi(loginParams, mode); diff --git a/src/utils/auth.ts b/src/utils/auth.ts index 6829a91..04b0cf0 100644 --- a/src/utils/auth.ts +++ b/src/utils/auth.ts @@ -1,4 +1,4 @@ -import { isJSON } from '/@/utils/is.ts'; +import { isJSON, isObjectOrArray } from '/@/utils/is.ts'; export function getAuthCache(key) { let v = localStorage.getItem(key); @@ -10,9 +10,9 @@ export function getAuthCache(key) { } export function setAuthCache(key, value) { - if (!isJSON(value)) { - return localStorage.setItem(key, value); - } else { + if (isObjectOrArray(value)) { return localStorage.setItem(key, JSON.stringify(value)); + } else { + return localStorage.setItem(key, value); } -} \ No newline at end of file +} diff --git a/src/utils/is.ts b/src/utils/is.ts index 230cebc..e9a4da7 100644 --- a/src/utils/is.ts +++ b/src/utils/is.ts @@ -18,4 +18,9 @@ export function isJSON(str) { } catch (e) { return false; } -} \ No newline at end of file +} + +//是否为对象或数组 +export function isObjectOrArray(obj) { + return isObject(obj) || isArray(obj); +} diff --git a/src/views/sys/login.vue b/src/views/sys/login.vue index 9228b93..099e0d6 100644 --- a/src/views/sys/login.vue +++ b/src/views/sys/login.vue @@ -105,7 +105,6 @@ const router = useRouter(); const route = useRoute(); - console.log('route', route); const prefixCls = 'mini-login'; const { notification, createMessage } = useMessage(); const userStore = useUserStore(); diff --git a/src/views/transfer.vue b/src/views/transfer.vue index 84a6e82..fe4b899 100644 --- a/src/views/transfer.vue +++ b/src/views/transfer.vue @@ -10,14 +10,13 @@ const userStore = useUserStore(); const { baseLogin, baseHome, msg } = JSON.parse(route.query.data); setBaseLogin(baseLogin); + userStore.setToken(msg); getUserInfo().then((res) => { - const { code, result } = res; + const { code, result } = res || {}; if (code == 200) { - userStore.setToken(msg); userStore.setUserInfo(result.userInfo); router.push(baseHome); } }); - console.log('route', route);