/** * 认证工具类 */ const TOKEN_KEY = 'token'; const USER_INFO_KEY = 'userInfo'; /** * 获取Token */ export function getToken() { return uni.getStorageSync(TOKEN_KEY); } /** * 设置Token */ export function setToken(token) { return uni.setStorageSync(TOKEN_KEY, token); } /** * 移除Token */ export function removeToken() { return uni.removeStorageSync(TOKEN_KEY); } /** * 获取用户信息 */ export function getUserInfo() { return uni.getStorageSync(USER_INFO_KEY); } /** * 设置用户信息 */ export function setUserInfo(userInfo) { return uni.setStorageSync(USER_INFO_KEY, userInfo); } /** * 移除用户信息 */ export function removeUserInfo() { return uni.removeStorageSync(USER_INFO_KEY); } /** * 检查是否已登录 */ export function isLoggedIn() { const token = getToken(); return !!token; } /** * 清除所有认证信息 */ export function clearAuth() { removeToken(); removeUserInfo(); } /** * 登录 */ export function login(loginData) { return new Promise((resolve, reject) => { // 模拟登录API调用 setTimeout(() => { if (loginData.username === 'admin' && loginData.password === 'admin') { const token = 'mock-token-' + Date.now(); const userInfo = { id: 1, username: loginData.username, nickname: '管理员', avatar: '/static/avatar.png', title: '系统管理员', }; setToken(token); setUserInfo(userInfo); resolve({ success: true, data: { token, userInfo, }, }); } else { reject(new Error('用户名或密码错误')); } }, 1000); }); } /** * 退出登录 */ export function logout() { return new Promise((resolve) => { clearAuth(); // 跳转到登录页 uni.reLaunch({ url: '/pages/login/login', }); resolve({ success: true }); }); } /** * 检查登录状态并跳转 */ export function checkAuth() { if (!isLoggedIn()) { uni.reLaunch({ url: '/pages/login/login', }); return false; } return true; }