197 lines
5.0 KiB
JavaScript
197 lines
5.0 KiB
JavaScript
import Mock from 'mockjs'
|
|
import { getRandomImage } from './utils'
|
|
|
|
// 模拟验证码
|
|
const captchaCode = {
|
|
codes: ['1234', '5678', 'abcd', 'efgh', 'ABCD']
|
|
}
|
|
|
|
const userApi = {
|
|
// 获取验证码
|
|
getCodeImg: () => {
|
|
const code = captchaCode.codes[Math.floor(Math.random() * captchaCode.codes.length)]
|
|
return {
|
|
code: 200,
|
|
msg: "操作成功",
|
|
img: getRandomImage(100, 40, code),
|
|
uuid: Mock.mock('@guid'),
|
|
captchaEnabled: true
|
|
}
|
|
},
|
|
|
|
// 登录
|
|
// login: (config) => {
|
|
// const body = typeof config.body === 'string' ? JSON.parse(config.body) : config.body
|
|
// console.log('登录请求参数:', body)
|
|
|
|
// // 默认管理员账号
|
|
// if (body.username === 'admin' && body.password === 'admin123') {
|
|
// const tokenValue = Mock.mock('@guid')
|
|
// console.log('生成的token值:', tokenValue)
|
|
|
|
// // 尝试格式1: 最简单的格式
|
|
// return {
|
|
// code: 200,
|
|
// msg: "操作成功",
|
|
// token: tokenValue
|
|
// }
|
|
// }
|
|
// },
|
|
// 更新 src/mock/user.js 中的 login 方法
|
|
// 登录
|
|
login: (config) => {
|
|
const body = typeof config.body === 'string' ? JSON.parse(config.body) : config.body
|
|
console.log('登录请求参数:', body)
|
|
|
|
// 默认管理员账号
|
|
if (body.username === 'admin' && body.password === 'admin123') {
|
|
return {
|
|
msg: "操作成功",
|
|
code: 200,
|
|
token: "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImYzMDZlNzcyLTZhMmMtNGVjZi05NGNiLTE5ZDA1ZTZkNzVhNyJ9.69J3NMHMxbeP4_NLuo7Dw_0fJoPBwlrLdLb4p2b8poZxRoIfRMnj-F9lts3_i0MpsfrGG6HjmQQe-k8XenGTZg"
|
|
}
|
|
}
|
|
|
|
// 模拟普通用户
|
|
if (body.username === 'user' && body.password === 'user123') {
|
|
return {
|
|
msg: "操作成功",
|
|
code: 200,
|
|
token: "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImQzYWIxMjM0LTVlNmYtN2FiYy04ZGVmLTk5MDEyMzQ1Njc4OSJ9.abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz"
|
|
}
|
|
}
|
|
|
|
// 用户名或密码错误
|
|
if ((body.username === 'admin' && body.password !== 'admin123') ||
|
|
(body.username === 'user' && body.password !== 'user123')) {
|
|
return {
|
|
code: 500,
|
|
msg: '用户名或密码错误'
|
|
}
|
|
}
|
|
|
|
// 验证码错误
|
|
if (body.code && !captchaCode.codes.includes(body.code)) {
|
|
return {
|
|
code: 500,
|
|
msg: '验证码错误'
|
|
}
|
|
}
|
|
|
|
// 未知用户
|
|
return {
|
|
code: 500,
|
|
msg: '用户不存在'
|
|
}
|
|
}
|
|
,
|
|
// 获取用户信息
|
|
// 获取用户信息
|
|
getInfo: (config) => {
|
|
console.log('获取用户信息请求:', config);
|
|
// 检查 Authorization 头
|
|
const token = config.headers?.Authorization?.replace('Bearer ', '') || '';
|
|
console.log('当前token:', token);
|
|
|
|
// 模拟验证 token (在实际项目中应该有更复杂的验证)
|
|
// 由于这是 mock 数据,我们可以简单地返回成功
|
|
|
|
return {
|
|
msg: "操作成功",
|
|
code: 200,
|
|
permissions: [
|
|
"*:*:*"
|
|
],
|
|
roles: [
|
|
"admin"
|
|
],
|
|
user: {
|
|
searchValue: null,
|
|
createBy: "admin",
|
|
createTime: "2025-06-17 09:28:41",
|
|
updateBy: null,
|
|
updateTime: null,
|
|
remark: "管理员",
|
|
params: {},
|
|
userId: 1,
|
|
deptId: 103,
|
|
userName: "admin",
|
|
nickName: "若依",
|
|
email: "ry@163.com",
|
|
phonenumber: "15888888888",
|
|
sex: "1",
|
|
avatar: "",
|
|
password: "$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2",
|
|
status: "0",
|
|
delFlag: "0",
|
|
loginIp: "10.0.0.170",
|
|
loginDate: "2025-06-23T14:11:40.000+08:00",
|
|
dept: {
|
|
searchValue: null,
|
|
createBy: null,
|
|
createTime: null,
|
|
updateBy: null,
|
|
updateTime: null,
|
|
remark: null,
|
|
params: {},
|
|
deptId: 103,
|
|
parentId: 101,
|
|
ancestors: "0,100,101",
|
|
deptName: "研发部门",
|
|
orderNum: 1,
|
|
leader: "若依",
|
|
phone: null,
|
|
email: null,
|
|
status: "0",
|
|
delFlag: null,
|
|
parentName: null,
|
|
children: []
|
|
},
|
|
roles: [
|
|
{
|
|
searchValue: null,
|
|
createBy: null,
|
|
createTime: null,
|
|
updateBy: null,
|
|
updateTime: null,
|
|
remark: null,
|
|
params: {},
|
|
roleId: 1,
|
|
roleName: "超级管理员",
|
|
roleKey: "admin",
|
|
roleSort: "1",
|
|
dataScope: "1",
|
|
menuCheckStrictly: false,
|
|
deptCheckStrictly: false,
|
|
status: "0",
|
|
delFlag: null,
|
|
flag: false,
|
|
menuIds: null,
|
|
deptIds: null,
|
|
permissions: null,
|
|
admin: true
|
|
}
|
|
],
|
|
roleIds: null,
|
|
postIds: null,
|
|
roleId: null,
|
|
admin: true
|
|
}
|
|
}
|
|
},
|
|
|
|
// 退出登录
|
|
logout: (config) => {
|
|
console.log('退出登录请求:', config);
|
|
// 检查 Authorization 头
|
|
const token = config.headers?.Authorization?.replace('Bearer ', '') || '';
|
|
console.log('退出登录token:', token);
|
|
|
|
// 在 mock 环境中,我们总是返回成功
|
|
return {
|
|
code: 200,
|
|
msg: "退出成功"
|
|
}
|
|
}
|
|
}
|
|
export default userApi |