123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- /** @format */
- import { defineStore } from 'pinia'
- import { useUserStore } from './user'
- export const useCommonStore = defineStore(
- 'commonStore',
- () => {
- const navigateTextColor = ref('#ffffff')
- const navigateBgColor = ref('#0F0820')
- const loginType = ref<string>('choice')
- const downloadCatalog = ref<any>(null)
- const accountList = ref<any>([])
- // const userStore = useUserStore()
- const loginedAccountList = computed(() => {
- // 获取已经登陆的账号列表的前两位
- return accountList.value.filter((item: any) => item.email).slice(0, 2)
- })
- /**
- * 设置头部导航背景色
- */
- const setNavigateBgColor = (color: string) => {
- if (!color)
- return
- color = color.toUpperCase()
- if (color === '#0F0820') {
- navigateTextColor.value = '#ffffff'
- navigateBgColor.value = 'rgba(15,8,32, 0.7)'
- }
- else if (color === '#F3F4FB') {
- navigateTextColor.value = '#0F0820'
- navigateBgColor.value = 'rgba(243,244,251, 0.7)'
- }
- else if (color === '#FFFFFF') {
- navigateTextColor.value = '#0F0820'
- navigateBgColor.value = 'rgba(255, 255, 255, 0.7)'
- }
- }
- /**
- * 设置已经登陆的账号列表 (在登陆成功后调用)
- */
- const pushAccount = (user: any) => {
- if (!user || !user.email)
- return
- // 检查是否已经存在相同的账号
- const existingAccount = accountList.value.find((item: any) => item.email === user.email && item.type === user.type)
- if (existingAccount)
- return
- accountList.value.push(user)
- }
- /**
- * type 登录方式
- *
- */
- const setLoginType = (type: string) => {
- if (!type)
- return
- loginType.value = type
- }
- /**
- * 设置当前的下载的目录数据
- */
- const setDownloadCatalog = (catalog: any) => {
- if (!catalog)
- return
- downloadCatalog.value = catalog
- }
- return {
- navigateTextColor,
- navigateBgColor,
- downloadCatalog,
- setNavigateBgColor,
- setLoginType,
- accountList,
- loginType,
- pushAccount,
- loginedAccountList,
- setDownloadCatalog,
- }
- },
- {
- persist: true,
- },
- )
|