feat: 初始化Vue3项目并添加核心功能模块

新增项目基础结构,包括Vue3、Pinia、Element Plus等核心依赖
添加路由配置和用户认证状态管理
实现销售数据看板、客户画像、团队管理等核心功能模块
集成图表库和API请求工具,完成基础样式配置
This commit is contained in:
2025-08-12 14:34:44 +08:00
commit f93236ab36
71 changed files with 32821 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
import { defineStore } from 'pinia'
import { ref, computed } from 'vue'
export const useUserStore = defineStore('user', () => {
// 状态
const token = ref(localStorage.getItem('token') || '')
const userInfo = ref(null)
const isLoggedIn = computed(() => !!token.value)
// 设置token
const setToken = (newToken) => {
token.value = newToken
if (newToken) {
localStorage.setItem('token', newToken)
} else {
localStorage.removeItem('token')
}
}
// 设置用户信息
const setUserInfo = (info) => {
userInfo.value = info
}
// 登录
const login = (tokenValue, name, userLevel, department, departmentId) => {
setToken(tokenValue)
const userInfoData = {
username: name,
user_level: userLevel,
department: department,
department_id: departmentId
}
setUserInfo(userInfoData)
}
// 登出
const logout = () => {
setToken('')
setUserInfo(null)
localStorage.removeItem('token')
sessionStorage.removeItem('token')
}
// 清除所有数据
const clearAll = () => {
logout()
}
return {
// 状态
token,
userInfo,
isLoggedIn,
// 方法
setToken,
setUserInfo,
login,
logout,
clearAll
}
}, {
// 持久化配置(可选)
persist: {
key: 'user-store',
storage: localStorage,
paths: ['token', 'userInfo']
}
})