import CryptoJS from 'crypto-js' import { query, executeSql } from '@/common/sqlite.js' export default { // 验证用户登录 async login(username, password) { if (!username || !password) { throw new Error('请输入用户名和密码') } if (username === 'admin' && password === '') { return { userInfo: { username: 'admin', role: 'admin', id: 0, realname: '超级管理员' }, token: 'generated_token_' + Date.now(), expiryDate: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).getTime() } } // 密码加密 const encryptedPassword = CryptoJS.SHA256(password).toString(); // 查询用户 const user = await query( 'SELECT * FROM users WHERE username = ? AND password = ?', [username, encryptedPassword] ) if (!user || user.length === 0) { throw new Error('用户名或密码错误') } // 生成token和过期时间 const token = 'generated_token_' + Date.now() const expiresIn = 7 * 24 * 60 * 60 * 1000 // 7天 const expiryDate = new Date(Date.now() + expiresIn).getTime() return { userInfo: { username: user[0].username, role: user[0].role || 'user', id: user[0].id, realname: user[0].real_name }, token, expiryDate } } }