|
@@ -5,8 +5,8 @@ import { store } from '/@/store';
|
|
|
import { PageEnum } from '/@/enums/pageEnum';
|
|
|
import { ROLES_KEY, TOKEN_KEY, USER_INFO_KEY, LOGIN_INFO_KEY, DB_DICT_DATA_KEY, TENANT_ID, PWD_KEY } from '/@/enums/cacheEnum';
|
|
|
import { getAuthCache, setAuthCache } from '/@/utils/auth';
|
|
|
-import { GetUserInfoModel, LoginParams, ThirdLoginParams } from '/@/api/sys/model/userModel';
|
|
|
-import { doLogout, getUserInfo, loginApi, phoneLoginApi, thirdLogin } from '/@/api/sys/user';
|
|
|
+import { AutoLoginParams, GetUserInfoModel, LoginParams, ThirdLoginParams } from '/@/api/sys/model/userModel';
|
|
|
+import { autoLoginApi, doLogout, getUserInfo, loginApi, phoneLoginApi, thirdLogin } from '/@/api/sys/user';
|
|
|
import { useI18n } from '/@/hooks/web/useI18n';
|
|
|
import { useMessage } from '/@/hooks/web/useMessage';
|
|
|
import { router } from '/@/router';
|
|
@@ -85,10 +85,6 @@ export const useUserStore = defineStore({
|
|
|
hasShareTenantId(): boolean {
|
|
|
return this.shareTenantId != null && this.shareTenantId !== '';
|
|
|
},
|
|
|
- /** 获取用户加密过的密码 */
|
|
|
- getPassword() {
|
|
|
- return getAuthCache<string>(PWD_KEY);
|
|
|
- },
|
|
|
// 目前用户角色列表为空数组,所以使用既定的用户名判断
|
|
|
getIsMockLogin() {
|
|
|
console.log(this.getUserInfo.username === MOCK_LOGIN_UESRNAME);
|
|
@@ -155,8 +151,6 @@ export const useUserStore = defineStore({
|
|
|
// save token
|
|
|
this.setToken(token);
|
|
|
this.setTenant(userInfo.loginTenantId);
|
|
|
- // 将用户的用户名与密码存于数据库之中,这是为了实现前端单点登录模拟
|
|
|
- this.setPassword(params.password);
|
|
|
return this.afterLoginAction(goHome, data);
|
|
|
} catch (error) {
|
|
|
return Promise.reject(error);
|
|
@@ -390,14 +384,6 @@ export const useUserStore = defineStore({
|
|
|
return Promise.reject(error);
|
|
|
}
|
|
|
},
|
|
|
- /** 解密用户密码,理论上加密、解密的工作应仅在此模块进行 */
|
|
|
- decryptPassword(password: string) {
|
|
|
- // const test1 = AES.encrypt('123123', '321');
|
|
|
- // const test2 = AES.decrypt(test1, '321');
|
|
|
- // console.log('debug', AES.decrypt(password, PWD_KEY));
|
|
|
- return atob(password);
|
|
|
- // return AES.decrypt(password, PWD_KEY).toString();
|
|
|
- },
|
|
|
/** 续登录,即登出后再次模拟登录并刷新当前页面,不需要用户重复登录"自动"登录账户 */
|
|
|
async redoMockLogin(
|
|
|
params: Partial<LoginParams> & {
|
|
@@ -412,6 +398,25 @@ export const useUserStore = defineStore({
|
|
|
});
|
|
|
router.go(0);
|
|
|
},
|
|
|
+ /** 用户自动登录,即不需要用户密码即可登录 */
|
|
|
+ async autoLogin(
|
|
|
+ params: AutoLoginParams & {
|
|
|
+ goHome?: boolean;
|
|
|
+ mode?: ErrorMessageMode;
|
|
|
+ }
|
|
|
+ ) {
|
|
|
+ try {
|
|
|
+ const { goHome = true, mode, ...loginParams } = params;
|
|
|
+ const data = await autoLoginApi(loginParams, mode);
|
|
|
+ const { token, userInfo } = data;
|
|
|
+ // save token
|
|
|
+ this.setToken(token);
|
|
|
+ this.setTenant(userInfo.loginTenantId);
|
|
|
+ return this.afterLoginAction(goHome, data);
|
|
|
+ } catch (error) {
|
|
|
+ return Promise.reject(error);
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
});
|
|
|
|