项目初始化

This commit is contained in:
leilei
2025-09-19 17:24:46 +08:00
commit 293951a610
107 changed files with 10222 additions and 0 deletions

12
src/stores/counter.js Normal file
View File

@@ -0,0 +1,12 @@
import { ref, computed } from 'vue'
import { defineStore } from 'pinia'
export const useCounterStore = defineStore('counter', () => {
const count = ref(0)
const doubleCount = computed(() => count.value * 2)
function increment() {
count.value++
}
return { count, doubleCount, increment }
})

0
src/stores/index.js Normal file
View File

View File

@@ -0,0 +1,33 @@
import { defineStore } from 'pinia'
import { generateUUID } from '@/utils/tools.js'
export const useMeterStore = defineStore('meter', {
state: () => ({
udid: ''
}),
actions: {
initUdid() {
var udid = window.localStorage.getItem('UDID')
if (!udid) {
udid = generateUUID();
window.localStorage.setItem("UDID", udid);
}
this.setUdid(udid)
},
setUdid(udid) {
this.udid = udid
},
getUdid() {
return this.udid
},
getSudid() {
var typedArray = new Uint8Array(this.udid.match(/[\da-f]{2}/gi).map(function (h) {
return parseInt(h, 16)
}));
const sudid = btoa(String.fromCharCode.apply(null, typedArray)).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
return sudid
}
}
})

View File

@@ -0,0 +1,72 @@
import { login, logout, getInfo } from '@/api/login'
import { getToken, setToken, removeToken } from '@/utils/auth'
import { defineStore } from 'pinia'
const useUserStore = defineStore(
'user',
{
state: () => ({
token: getToken(),
name: '',
avatar: '',
roles: '',
}),
actions: {
// 登录
async login(userInfo) {
try {
const { username, password } = userInfo;
const trimmedUsername = username.trim();
const res = await login(trimmedUsername, password);
const { token, user } = res.data;
localStorage.setItem('userData', JSON.stringify(user));
setToken(token);
this.token = token;
} catch (error) {
console.error('登录失败:', error);
throw error;
}
},
// 获取用户信息
getInfo() {
return new Promise((resolve, reject) => {
try {
const userData = localStorage.getItem('userData');
if (!userData) {
return reject(new Error('未找到用户数据'));
}
const parsedData = JSON.parse(userData);
if (!parsedData) {
return reject(new Error('用户数据格式无效'));
}
resolve(parsedData);
} catch (error) {
console.error('获取用户信息失败:', error);
reject(error instanceof Error ? error : new Error('解析用户数据失败'));
}
});
},
// 退出系统
async logOut() {
try {
await logout();
this.token = '';
this.roles = '';
removeToken();
} catch (error) {
console.error('退出登录失败:', error);
throw error;
}
},
//判断是否登录
checkLogin() {
return !!getToken();
}
}
})
export default useUserStore