fe-drone-ci/mock/user.js

86 lines
1.5 KiB
JavaScript

const tokens = {
admin: {
token: "admin-token"
},
editor: {
token: "editor-token"
}
};
const users = {
"admin-token": {
roles: ["admin"],
introduction: "I am a super administrator",
avatar:
"https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif",
name: "Super Admin"
},
"editor-token": {
roles: ["editor"],
introduction: "I am an editor",
avatar:
"https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif",
name: "Normal Editor"
}
};
export default [
// user login
{
url: "/user/login",
type: "post",
response: config => {
const { username } = config.body;
const token = tokens[username];
// mock error
if (!token) {
return {
code: 60204,
message: "Account and password are incorrect."
};
}
return {
code: 20000,
data: token
};
}
},
// get user info
{
url: "/user/info.*",
type: "get",
response: config => {
const { token } = config.query;
const info = users[token];
// mock error
if (!info) {
return {
code: 50008,
message: "Login failed, unable to get user details."
};
}
return {
code: 20000,
data: info
};
}
},
// user logout
{
url: "/user/logout",
type: "post",
response: _ => {
return {
code: 20000,
data: "success"
};
}
}
];