This commit is contained in:
zk
2024-07-01 10:36:12 +08:00
parent 292a32a311
commit 80745c9d8c
3 changed files with 36 additions and 30 deletions
-2
View File
@@ -12,8 +12,6 @@
securityJsCode: "1b3b86585c863d22db1e7f7636a9e495", securityJsCode: "1b3b86585c863d22db1e7f7636a9e495",
} }
</script> </script>
<!-- <script type="text/javascript"-->
<!-- src="https://webapi.amap.com/maps?v=2.0&key=4bbcb216b889f2d612cbed05ae6979c8&plugin=AMap.Driving,AMap.ToolBar,AMap.Driving,AMap.GeoJSON,AMap.MarkerCluster"></script>-->
</head> </head>
<style> <style>
html, body, #app { html, body, #app {
+12 -7
View File
@@ -6,6 +6,7 @@ import { getAuthCache, setAuthCache } from '/@/utils/auth.ts';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { LoginInfo, LoginParams, UserInfo } from '/@/store/modules/storeType.ts'; import { LoginInfo, LoginParams, UserInfo } from '/@/store/modules/storeType.ts';
import { store } from '/@/store'; import { store } from '/@/store';
import { message } from 'ant-design-vue';
const router = useRouter(); const router = useRouter();
export const useUserStore = defineStore({ export const useUserStore = defineStore({
@@ -16,8 +17,8 @@ export const useUserStore = defineStore({
//登录返回信息 //登录返回信息
loginInfo: null, loginInfo: null,
themeType: '', // dark 1, light 2 themeType: '', // dark 1, light 2
flag1: null, //银川权限标识 flag1: '', //银川权限标识
flag2: null, //西安权限标识 flag2: '', //西安权限标识
}), }),
getters: { getters: {
getUserInfo(): UserInfo { getUserInfo(): UserInfo {
@@ -70,11 +71,15 @@ export const useUserStore = defineStore({
try { try {
const { goHome = true, mode, ...loginParams } = params; const { goHome = true, mode, ...loginParams } = params;
const data = await loginApi(loginParams, mode); const data = await loginApi(loginParams, mode);
const { token, userInfo } = data.result; if (data && data['result']) {
// save token const { token, userInfo } = data.result;
this.setToken(token, false); // save token
this.setUserInfo(userInfo); this.setToken(token, false);
return { userInfo, token }; this.setUserInfo(userInfo);
return { userInfo, token };
} else {
return Promise.reject(data);
}
} catch (error) { } catch (error) {
return Promise.reject(error); return Promise.reject(error);
} }
+24 -21
View File
@@ -162,25 +162,24 @@
return route.path == PageEnum.BASE_LOGIN_YINCHUAN ? PageEnum.YINCHUAN_HOME : PageEnum.BASE_HOME; return route.path == PageEnum.BASE_LOGIN_YINCHUAN ? PageEnum.YINCHUAN_HOME : PageEnum.BASE_HOME;
} }
function checkFormField(formData, fieldName, placeholderTranslationKey) {
if (!formData[fieldName]) {
createMessage.warn(t(placeholderTranslationKey));
return false;
}
return true;
}
async function accountLogin() { async function accountLogin() {
if (!formData.username) { if (!checkFormField(formData, 'username', 'login.accountPlaceholder')) return;
createMessage.warn(t('login.accountPlaceholder')); if (!checkFormField(formData, 'password', 'login.passwordPlaceholder')) return;
return; if (!checkFormField(formData, 'inputCode', 'login.inputCodePlaceholder')) return;
}
if (!formData.password) {
createMessage.warn(t('login.passwordPlaceholder'));
return;
}
if (!formData.inputCode) {
createMessage.warn(t('login.inputCodePlaceholder'));
return;
}
try { try {
loginLoading.value = true; loginLoading.value = true;
const { userInfo } = await userStore.login( const { userInfo } = await userStore.login(
toRaw({ toRaw({
password: encipher(formData.password) as string, password: encipher(formData.password) as string,
// password: formData.password,
username: formData.username, username: formData.username,
captcha: formData.inputCode, captcha: formData.inputCode,
checkKey: randCodeData.checkKey, checkKey: randCodeData.checkKey,
@@ -191,20 +190,21 @@
if (userInfo) { if (userInfo) {
try { try {
let { code, result, message: msg } = await getAuth(); let { code, result, message: msg } = await getAuth();
let goPath = ''; let goPath = PageEnum.BASE_HOME;
if (code == 200) { if (code == 200) {
let flag1 = result?.codeList?.find((item) => ['emergency:screen:show:yinchuan'].includes(item)); let flag1 = result?.codeList?.find((item) => ['emergency:screen:show:yinchuan'].includes(item));
let flag2 = result?.codeList?.find((item) => ['emergency:screen:show:xian'].includes(item)); let flag2 = result?.codeList?.find((item) => ['emergency:screen:show:xian'].includes(item));
userStore.setFlag1(flag1 || ''); userStore.setFlag1(flag1 || '');
userStore.setFlag2(flag2 || ''); userStore.setFlag2(flag2 || '');
debugger; // debugger;
if (!flag1 && !flag2) { if (!flag1 && !flag2) {
userStore.setToken('', false); userStore.setToken('');
userStore.setUserInfo({}); userStore.setUserInfo({});
return message.warn('您没有权限访问大屏,请联系管理员!'); return message.warn('您没有权限访问大屏,请联系管理员!');
} }
//1如果有权限 //1如果有权限
//1.2若果是有两种权限 //1.2若果是有两种权限
// debugger;
if (flag1 && flag2) { if (flag1 && flag2) {
// 1.2.1 如果是登录地址是西安 // 1.2.1 如果是登录地址是西安
// 1.2.2 如果是登录地址是银川 // 1.2.2 如果是登录地址是银川
@@ -214,12 +214,12 @@
goPath = PageEnum.BASE_HOME; goPath = PageEnum.BASE_HOME;
} }
} else { } else {
if (flag1 && route.path == PageEnum.BASE_LOGIN_YINCHUAN) { if (flag1) {
goPath = PageEnum.YINCHUAN_HOME; goPath = PageEnum.YINCHUAN_HOME;
} else if (flag2 && route.path == PageEnum.BASE_LOGIN) { } else if (flag2) {
goPath = PageEnum.BASE_HOME; goPath = PageEnum.BASE_HOME;
} else { } else {
userStore.setToken('', false); userStore.setToken('');
userStore.setUserInfo({}); userStore.setUserInfo({});
return message.warn('没有权限请联系管理员!'); return message.warn('没有权限请联系管理员!');
} }
@@ -235,13 +235,16 @@
setBaseLogin(route.path); setBaseLogin(route.path);
router.replace(goPath); router.replace(goPath);
} catch (e) { } catch (e) {
message.warn(e); handleChangeCheckCode();
return message.warn(e);
} }
} else {
handleChangeCheckCode();
} }
} catch (error) { } catch (error) {
notification.error({ notification.error({
message: t('api.errorTip'), message: t('api.errorTip'),
description: error.message || t('login.networkExceptionMsg'), description: error['message'] || t('login.networkExceptionMsg'),
duration: 3, duration: 3,
}); });
handleChangeCheckCode(); handleChangeCheckCode();