[add] 新增萤石摄像头抓拍相关逻辑,获取方阵内光伏板、桩点支柱立架、箱变、逆变器地理信息接口
This commit is contained in:
@ -5,15 +5,30 @@ import { LoginData, UserProject } from '@/api/types';
|
||||
import defAva from '@/assets/images/profile.jpg';
|
||||
import store from '@/store';
|
||||
import { defineStore } from 'pinia';
|
||||
|
||||
import { SpecialType } from '@/api/project/workWage/types';
|
||||
import { getProjectTeam } from '@/utils/projectTeam';
|
||||
import $cache from '@/plugins/cache';
|
||||
// 添加两个函数用于操作localStorage
|
||||
const saveSelectedProjectToStorage = (project) => {
|
||||
localStorage.setItem('selectedProject', JSON.stringify(project));
|
||||
// localStorage.setItem('selectedProject', JSON.stringify(project));
|
||||
$cache.local.setJSON('selectedProject', project);
|
||||
getProjectTeam();
|
||||
};
|
||||
const saveProjectTeamToStorage = (project) => {
|
||||
// localStorage.setItem('ProjectTeamList', JSON.stringify(project));
|
||||
$cache.local.setJSON('ProjectTeamList', project);
|
||||
};
|
||||
|
||||
const getSelectedProjectFromStorage = () => {
|
||||
const stored = localStorage.getItem('selectedProject');
|
||||
return stored ? JSON.parse(stored) : null;
|
||||
// localStorage.getItem('selectedProject');
|
||||
const stored = $cache.local.getJSON('selectedProject');
|
||||
return stored ? stored : null;
|
||||
};
|
||||
|
||||
const getProjectTeamListFromStorage = () => {
|
||||
const stored = $cache.local.getJSON('ProjectTeamList');
|
||||
|
||||
return stored ? stored : null;
|
||||
};
|
||||
|
||||
export const useUserStore = defineStore('user', () => {
|
||||
@ -29,6 +44,7 @@ export const useUserStore = defineStore('user', () => {
|
||||
const projects = ref<Array<{ id: string; name: string }>>([]);
|
||||
// 从localStorage获取缓存的项目,如果没有则默认为null
|
||||
const selectedProject = ref<{ id: string; name: string } | null>(getSelectedProjectFromStorage());
|
||||
const ProjectTeamList = ref<SpecialType[] | null>(getProjectTeamListFromStorage());
|
||||
|
||||
/**
|
||||
* 登录
|
||||
@ -99,7 +115,8 @@ export const useUserStore = defineStore('user', () => {
|
||||
permissions.value = [];
|
||||
removeToken();
|
||||
// 清除项目缓存
|
||||
localStorage.removeItem('selectedProject');
|
||||
$cache.local.remove('selectedProject');
|
||||
$cache.local.remove('ProjectTeamList');
|
||||
};
|
||||
|
||||
const setAvatar = (value: string) => {
|
||||
@ -112,14 +129,12 @@ export const useUserStore = defineStore('user', () => {
|
||||
|
||||
const setSelectedProject = (project: { id: string; name: string }) => {
|
||||
selectedProject.value = project;
|
||||
// 将选中的项目保存到localStorage
|
||||
saveSelectedProjectToStorage(project);
|
||||
};
|
||||
|
||||
// ** 切换项目后,需要清空当前项目下的所有缓存数据 **
|
||||
// 清空 pinia 缓存
|
||||
// store.$reset();
|
||||
// console.log("选择的新项目名称:" + selectedProject.value.name)
|
||||
// console.log("选择的新项目id:" + selectedProject.value.id)
|
||||
const setProjectTeamList = (project: SpecialType[]) => {
|
||||
ProjectTeamList.value = project;
|
||||
saveProjectTeamToStorage(project);
|
||||
};
|
||||
|
||||
return {
|
||||
@ -136,8 +151,10 @@ export const useUserStore = defineStore('user', () => {
|
||||
setAvatar,
|
||||
setProjects,
|
||||
setSelectedProject,
|
||||
setProjectTeamList,
|
||||
projects,
|
||||
selectedProject
|
||||
selectedProject,
|
||||
ProjectTeamList
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user