wip(Login): Login developing
This commit is contained in:
@@ -1,55 +1,14 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { store } from '../index'
|
||||
import { useCache } from '@/hooks/web/useCache'
|
||||
import { appModules } from '@/config/app'
|
||||
import type { AppState, LayoutType } from '@/config/app'
|
||||
|
||||
export type LayoutType = 'Classic' | 'LeftTop' | 'Top' | 'Test'
|
||||
|
||||
export interface AppState {
|
||||
collapsed: boolean
|
||||
showTags: boolean
|
||||
showLogo: boolean
|
||||
showNavbar: boolean
|
||||
fixedHeader: boolean
|
||||
layout: LayoutType
|
||||
showBreadcrumb: boolean
|
||||
showHamburger: boolean
|
||||
showScreenfull: boolean
|
||||
showUserInfo: boolean
|
||||
title: string
|
||||
logoTitle: string
|
||||
userInfo: string
|
||||
greyMode: boolean
|
||||
showBackTop: boolean
|
||||
showMenuTab: boolean
|
||||
requestTime: boolean
|
||||
isDark: boolean
|
||||
size: ElememtPlusSzie
|
||||
sizeMap: ElememtPlusSzie[]
|
||||
}
|
||||
const { wsCache } = useCache()
|
||||
|
||||
export const useAppStore = defineStore({
|
||||
id: 'app',
|
||||
state: (): AppState => ({
|
||||
collapsed: false, // 菜单栏是否栏缩收
|
||||
showLogo: true, // 是否显示logo
|
||||
showTags: true, // 是否显示标签栏
|
||||
showNavbar: true, // 是否显示navbar
|
||||
fixedHeader: true, // 是否固定header
|
||||
layout: 'Classic', // layout布局
|
||||
showBreadcrumb: true, // 是否显示面包屑
|
||||
showHamburger: true, // 是否显示侧边栏缩收按钮
|
||||
showScreenfull: true, // 是否全屏按钮
|
||||
showUserInfo: true, // 是否显示用户头像
|
||||
title: 'butterfly-admin', // 标题
|
||||
logoTitle: 'butterfly-admin', // logo标题
|
||||
userInfo: 'userInfo', // 登录信息存储字段-建议每个项目换一个字段,避免与其他项目冲突
|
||||
greyMode: false, // 是否开始灰色模式,用于特殊悼念日
|
||||
showBackTop: true, // 是否显示回到顶部
|
||||
showMenuTab: false, // 是否固定一级菜单
|
||||
requestTime: false, // 是否在接口调用时添加时间戳,避免IE缓存
|
||||
isDark: false, // 是否是暗黑模式
|
||||
size: 'default', // 组件尺寸
|
||||
sizeMap: ['default', 'large', 'small']
|
||||
}),
|
||||
state: (): AppState => appModules,
|
||||
getters: {
|
||||
getCollapsed(): boolean {
|
||||
return this.collapsed
|
||||
@@ -170,9 +129,11 @@ export const useAppStore = defineStore({
|
||||
document.documentElement.classList.add('light')
|
||||
document.documentElement.classList.remove('dark')
|
||||
}
|
||||
wsCache.set('isDark', this.isDark)
|
||||
},
|
||||
setSize(size: ElememtPlusSzie) {
|
||||
this.size = size
|
||||
wsCache.set('size', this.size)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,38 +1,14 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import zhCn from 'element-plus/lib/locale/lang/zh-cn'
|
||||
import en from 'element-plus/lib/locale/lang/en'
|
||||
import { store } from '../index'
|
||||
import { useCache } from '@/hooks/web/useCache'
|
||||
import { localeModules, elLocaleMap } from '@/config/locale'
|
||||
import type { LocaleState } from '@/config/locale'
|
||||
|
||||
const elLocaleMap = {
|
||||
'zh-CN': zhCn,
|
||||
en: en
|
||||
}
|
||||
|
||||
export interface LocaleState {
|
||||
locale: LocaleDropdownType
|
||||
localeMap: LocaleDropdownType[]
|
||||
}
|
||||
const { wsCache } = useCache()
|
||||
|
||||
export const useLocaleStore = defineStore({
|
||||
id: 'locales',
|
||||
state: (): LocaleState => ({
|
||||
// 当前语言
|
||||
locale: {
|
||||
lang: 'zh-CN',
|
||||
elLocale: elLocaleMap['zh-CN']
|
||||
},
|
||||
// 多语言
|
||||
localeMap: [
|
||||
{
|
||||
lang: 'zh-CN',
|
||||
name: '简体中文'
|
||||
},
|
||||
{
|
||||
lang: 'en',
|
||||
name: 'English'
|
||||
}
|
||||
]
|
||||
}),
|
||||
state: (): LocaleState => localeModules,
|
||||
getters: {
|
||||
getLocale(): LocaleDropdownType {
|
||||
return this.locale
|
||||
@@ -46,6 +22,7 @@ export const useLocaleStore = defineStore({
|
||||
// this.locale = Object.assign(this.locale, localeMap)
|
||||
this.locale.lang = localeMap?.lang
|
||||
this.locale.elLocale = elLocaleMap[localeMap?.lang]
|
||||
wsCache.set('lang', localeMap?.lang)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user