feat(electron-vue-template):重构认证与设备管理模块
- 统一token存取逻辑,封装getToken/setToken/removeToken方法 -优化设备ID获取逻辑,调整API路径 - 完善设备管理接口类型定义,增强类型安全 - 调整SSE连接逻辑,使用统一配置管理- 重构HTTP客户端,集中管理后端服务配置 - 更新认证相关API接口,完善请求/响应类型 - 优化设备列表展示逻辑,移除冗余字段 - 调整图片代理路径,统一API前缀 - 完善用户反馈列表展示功能,增强交互体验 - 移除冗余的错误处理逻辑,简化代码结构
This commit is contained in:
37
electron-vue-template/src/renderer/utils/token.ts
Normal file
37
electron-vue-template/src/renderer/utils/token.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
// Token 工具函数
|
||||
export const TOKEN_KEY = 'auth_token';
|
||||
|
||||
export function getToken(): string | null {
|
||||
return localStorage.getItem(TOKEN_KEY);
|
||||
}
|
||||
|
||||
export function setToken(token: string): void {
|
||||
localStorage.setItem(TOKEN_KEY, token);
|
||||
}
|
||||
|
||||
export function removeToken(): void {
|
||||
localStorage.removeItem(TOKEN_KEY);
|
||||
}
|
||||
|
||||
export function getUsernameFromToken(token?: string): string {
|
||||
try {
|
||||
const t = token || getToken();
|
||||
if (!t) return '';
|
||||
const payload = JSON.parse(atob(t.split('.')[1]));
|
||||
return payload.username || payload.sub || '';
|
||||
} catch {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
export function getClientIdFromToken(token?: string): string {
|
||||
try {
|
||||
const t = token || getToken();
|
||||
if (!t) return '';
|
||||
const payload = JSON.parse(atob(t.split('.')[1]));
|
||||
return payload.clientId || '';
|
||||
} catch {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user