外部系统对接免登录

master
许宏杰 3 months ago
parent 0a30d96ce8
commit cf9307b25a

@ -1,60 +1,79 @@
import request from '@/utils/request'
import request from "@/utils/request";
import { encrypt } from "@/utils/jsencrypt";
// 登录方法
export function login(username, password, code, uuid) {
// password = encrypt(password); //密码加密
const data = {
username,
password,
code,
uuid
}
uuid,
};
return request({
url: '/login',
url: "/login",
headers: {
isToken: false,
repeatSubmit: false
repeatSubmit: false,
},
method: 'post',
data: data
})
method: "post",
data: data,
});
}
export function login2(username, password, code, uuid) {
// password = encrypt(password); //密码加密
const data = {
username,
password,
code,
uuid,
};
return request({
url: "/loginnocaptcha",
headers: {
isToken: false,
},
method: "post",
data: data,
});
}
// 注册方法
export function register(data) {
return request({
url: '/register',
url: "/register",
headers: {
isToken: false
isToken: false,
},
method: 'post',
data: data
})
method: "post",
data: data,
});
}
// 获取用户详细信息
export function getInfo() {
return request({
url: '/getInfo',
method: 'get'
})
url: "/getInfo",
method: "get",
});
}
// 退出方法
export function logout() {
return request({
url: '/logout',
method: 'post'
})
url: "/logout",
method: "post",
});
}
// 获取验证码
export function getCodeImg() {
return request({
url: '/captchaImage',
url: "/captchaImage",
headers: {
isToken: false
isToken: false,
},
method: 'get',
timeout: 20000
})
}
method: "get",
timeout: 20000,
});
}

@ -158,7 +158,8 @@ export default {
return (
this.$route.name == "xiaoqu" &&
(this.$auth.hasRoleOr(["admin", "leader"]) ||
(this.$auth.hasRoleOr(["xiaoqu"]) && this.dept.xiaoquId == 238))
(this.$auth.hasRoleOr(["xiaoqu"]) && this.dept.xiaoquId == 238)) &&
!this.$route.query.isLeader
);
},
},

@ -12,6 +12,29 @@ const whiteList = ["/login", "/register"];
router.beforeEach((to, from, next) => {
NProgress.start();
if (to.path == "/xiaoqu" && to.query.isLeader && !getToken()) {
store
.dispatch("login2", { username: "领导", password: "Loudong@2022***" })
.then((res) => {
handelRouter(to, from, next);
})
.catch((err) => {
store.dispatch("LogOut").then(() => {
Message.error("账号无法登录,请联系管理员");
next(`/login?redirect=${to.fullPath}`); // 否则全部重定向到登录页
});
});
return;
}
handelRouter(to, from, next);
});
router.afterEach(() => {
NProgress.done();
});
function handelRouter(to, from, next) {
if (getToken()) {
to.meta.title && store.dispatch("settings/setTitle", to.meta.title);
/* has token*/
@ -54,8 +77,4 @@ router.beforeEach((to, from, next) => {
NProgress.done();
}
}
});
router.afterEach(() => {
NProgress.done();
});
}

@ -1,4 +1,4 @@
import { login, logout, getInfo } from "@/api/login";
import { login, logout, getInfo, login2 } from "@/api/login";
import { getToken, setToken, removeToken } from "@/utils/auth";
const user = {
@ -55,6 +55,23 @@ const user = {
});
});
},
login2({ commit }, userInfo) {
const username = userInfo.username.trim();
const password = userInfo.password;
const code = userInfo.code;
const uuid = userInfo.uuid;
return new Promise((resolve, reject) => {
login2(username, password, code, uuid)
.then((res) => {
setToken(res.token);
commit("SET_TOKEN", res.token);
resolve();
})
.catch((error) => {
reject(error);
});
});
},
// 获取用户信息
GetInfo({ commit, state }) {

@ -70,7 +70,7 @@ service.interceptors.request.use(
const s_url = sessionObj.url; // 请求地址
const s_data = sessionObj.data; // 请求数据
const s_time = sessionObj.time; // 请求时间
const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交
const interval = 2000; // 间隔时间(ms),小于此时间视为重复提交
if (
s_data === requestObj.data &&
requestObj.time - s_time < interval &&

Loading…
Cancel
Save