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 === '<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
|
}
|
}
|
}
|