Commit d322e781998efb424ede22d31793b56ba264a0dd
1 parent
7926ea98
前端 Token、账号、密码等信息,统一使用 LocalStorage 替代 Cookie 存储
Showing
6 changed files
with
159 additions
and
57 deletions
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthServiceImpl.java
| @@ -100,7 +100,7 @@ public class MemberAuthServiceImpl implements MemberAuthService { | @@ -100,7 +100,7 @@ public class MemberAuthServiceImpl implements MemberAuthService { | ||
| 100 | } | 100 | } |
| 101 | 101 | ||
| 102 | // 创建 Token 令牌,记录登录日志 | 102 | // 创建 Token 令牌,记录登录日志 |
| 103 | - return createTokenAfterLoginSuccess(user, null, LoginLogTypeEnum.LOGIN_SOCIAL); | 103 | + return createTokenAfterLoginSuccess(user, user.getMobile(), LoginLogTypeEnum.LOGIN_SOCIAL); |
| 104 | } | 104 | } |
| 105 | 105 | ||
| 106 | @Override | 106 | @Override |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.java
| @@ -180,7 +180,7 @@ public class AdminAuthServiceImpl implements AdminAuthService { | @@ -180,7 +180,7 @@ public class AdminAuthServiceImpl implements AdminAuthService { | ||
| 180 | } | 180 | } |
| 181 | 181 | ||
| 182 | // 创建 Token 令牌,记录登录日志 | 182 | // 创建 Token 令牌,记录登录日志 |
| 183 | - return createTokenAfterLoginSuccess(user.getId(), null, LoginLogTypeEnum.LOGIN_SOCIAL); | 183 | + return createTokenAfterLoginSuccess(user.getId(), user.getUsername(), LoginLogTypeEnum.LOGIN_SOCIAL); |
| 184 | } | 184 | } |
| 185 | 185 | ||
| 186 | @Override | 186 | @Override |
yudao-ui-admin/src/utils/auth.js
| 1 | -import Cookies from 'js-cookie' | 1 | +import {decrypt, encrypt} from "@/utils/jsencrypt"; |
| 2 | 2 | ||
| 3 | const AccessTokenKey = 'ACCESS_TOKEN' | 3 | const AccessTokenKey = 'ACCESS_TOKEN' |
| 4 | const RefreshTokenKey = 'REFRESH_TOKEN' | 4 | const RefreshTokenKey = 'REFRESH_TOKEN' |
| 5 | 5 | ||
| 6 | +// ========== Token 相关 ========== | ||
| 7 | + | ||
| 6 | export function getAccessToken() { | 8 | export function getAccessToken() { |
| 7 | - return Cookies.get(AccessTokenKey) | 9 | + return localStorage.getItem(AccessTokenKey) |
| 8 | } | 10 | } |
| 9 | 11 | ||
| 10 | export function getRefreshToken() { | 12 | export function getRefreshToken() { |
| 11 | - return Cookies.get(RefreshTokenKey) | 13 | + return localStorage.getItem(RefreshTokenKey) |
| 12 | } | 14 | } |
| 13 | 15 | ||
| 14 | export function setToken(token) { | 16 | export function setToken(token) { |
| 15 | - Cookies.set(AccessTokenKey, token.accessToken) | ||
| 16 | - Cookies.set(RefreshTokenKey, token.refreshToken) | 17 | + localStorage.setItem(AccessTokenKey, token.accessToken) |
| 18 | + localStorage.setItem(RefreshTokenKey, token.refreshToken) | ||
| 17 | } | 19 | } |
| 18 | 20 | ||
| 19 | export function removeToken() { | 21 | export function removeToken() { |
| 20 | - Cookies.remove(AccessTokenKey) | ||
| 21 | - Cookies.remove(RefreshTokenKey) | 22 | + localStorage.removeItem(AccessTokenKey) |
| 23 | + localStorage.removeItem(RefreshTokenKey) | ||
| 24 | +} | ||
| 25 | + | ||
| 26 | +// ========== 账号相关 ========== | ||
| 27 | + | ||
| 28 | +const UsernameKey = 'USERNAME' | ||
| 29 | +const PasswordKey = 'PASSWORD' | ||
| 30 | +const RememberMeKey = 'REMEMBER_ME' | ||
| 31 | + | ||
| 32 | +export function getUsername() { | ||
| 33 | + return localStorage.getItem(UsernameKey) | ||
| 34 | +} | ||
| 35 | + | ||
| 36 | +export function setUsername(username) { | ||
| 37 | + localStorage.setItem(UsernameKey, username) | ||
| 38 | +} | ||
| 39 | + | ||
| 40 | +export function removeUsername() { | ||
| 41 | + localStorage.removeItem(UsernameKey) | ||
| 42 | +} | ||
| 43 | + | ||
| 44 | +export function getPassword() { | ||
| 45 | + const password = localStorage.getItem(PasswordKey) | ||
| 46 | + return password ? decrypt(password) : undefined | ||
| 47 | +} | ||
| 48 | + | ||
| 49 | +export function setPassword(password) { | ||
| 50 | + localStorage.setItem(PasswordKey, encrypt(password)) | ||
| 51 | +} | ||
| 52 | + | ||
| 53 | +export function removePassword() { | ||
| 54 | + localStorage.removeItem(PasswordKey) | ||
| 55 | +} | ||
| 56 | + | ||
| 57 | +export function getRememberMe() { | ||
| 58 | + return localStorage.getItem(RememberMeKey) === 'true' | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | +export function setRememberMe(rememberMe) { | ||
| 62 | + localStorage.setItem(RememberMeKey, rememberMe) | ||
| 63 | +} | ||
| 64 | + | ||
| 65 | +export function removeRememberMe() { | ||
| 66 | + localStorage.removeItem(RememberMeKey) | ||
| 67 | +} | ||
| 68 | + | ||
| 69 | +// ========== 租户相关 ========== | ||
| 70 | + | ||
| 71 | +const TenantIdKey = 'TENANT_ID' | ||
| 72 | +const TenantNameKey = 'TENANT_NAME' | ||
| 73 | + | ||
| 74 | +export function getTenantName() { | ||
| 75 | + return localStorage.getItem(TenantNameKey) | ||
| 76 | +} | ||
| 77 | + | ||
| 78 | +export function setTenantName(username) { | ||
| 79 | + localStorage.setItem(TenantNameKey, username) | ||
| 80 | +} | ||
| 81 | + | ||
| 82 | +export function removeTenantName() { | ||
| 83 | + localStorage.removeItem(TenantNameKey) | ||
| 84 | +} | ||
| 85 | + | ||
| 86 | +export function getTenantId() { | ||
| 87 | + return localStorage.getItem(TenantIdKey) | ||
| 88 | +} | ||
| 89 | + | ||
| 90 | +export function setTenantId(username) { | ||
| 91 | + localStorage.setItem(TenantIdKey, username) | ||
| 92 | +} | ||
| 93 | + | ||
| 94 | +export function removeTenantId() { | ||
| 95 | + localStorage.removeItem(TenantIdKey) | ||
| 22 | } | 96 | } |
yudao-ui-admin/src/utils/request.js
| 1 | import axios from 'axios' | 1 | import axios from 'axios' |
| 2 | import {Message, MessageBox, Notification} from 'element-ui' | 2 | import {Message, MessageBox, Notification} from 'element-ui' |
| 3 | import store from '@/store' | 3 | import store from '@/store' |
| 4 | -import {getAccessToken, getRefreshToken, setToken} from '@/utils/auth' | 4 | +import {getAccessToken, getRefreshToken, getTenantId, setToken} from '@/utils/auth' |
| 5 | import errorCode from '@/utils/errorCode' | 5 | import errorCode from '@/utils/errorCode' |
| 6 | -import Cookies from "js-cookie"; | ||
| 7 | import {getPath, getTenantEnable} from "@/utils/ruoyi"; | 6 | import {getPath, getTenantEnable} from "@/utils/ruoyi"; |
| 8 | import {refreshToken} from "@/api/login"; | 7 | import {refreshToken} from "@/api/login"; |
| 9 | 8 | ||
| @@ -21,14 +20,15 @@ let requestList = [] | @@ -21,14 +20,15 @@ let requestList = [] | ||
| 21 | // 是否正在刷新中 | 20 | // 是否正在刷新中 |
| 22 | let isRefreshToken = false | 21 | let isRefreshToken = false |
| 23 | 22 | ||
| 24 | - | ||
| 25 | axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' | 23 | axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' |
| 26 | // 创建axios实例 | 24 | // 创建axios实例 |
| 27 | const service = axios.create({ | 25 | const service = axios.create({ |
| 28 | // axios中请求配置有baseURL选项,表示请求URL公共部分 | 26 | // axios中请求配置有baseURL选项,表示请求URL公共部分 |
| 29 | baseURL: process.env.VUE_APP_BASE_API + '/admin-api/', // 此处的 /admin-api/ 地址,原因是后端的基础路径为 /admin-api/ | 27 | baseURL: process.env.VUE_APP_BASE_API + '/admin-api/', // 此处的 /admin-api/ 地址,原因是后端的基础路径为 /admin-api/ |
| 30 | // 超时 | 28 | // 超时 |
| 31 | - timeout: 30000 | 29 | + timeout: 30000, |
| 30 | + // 禁用 Cookie 等信息 | ||
| 31 | + withCredentials: false, | ||
| 32 | }) | 32 | }) |
| 33 | // request拦截器 | 33 | // request拦截器 |
| 34 | service.interceptors.request.use(config => { | 34 | service.interceptors.request.use(config => { |
| @@ -39,7 +39,7 @@ service.interceptors.request.use(config => { | @@ -39,7 +39,7 @@ service.interceptors.request.use(config => { | ||
| 39 | } | 39 | } |
| 40 | // 设置租户 | 40 | // 设置租户 |
| 41 | if (getTenantEnable()) { | 41 | if (getTenantEnable()) { |
| 42 | - const tenantId = Cookies.get('tenantId'); | 42 | + const tenantId = getTenantId(); |
| 43 | if (tenantId) { | 43 | if (tenantId) { |
| 44 | config.headers['tenant-id'] = tenantId; | 44 | config.headers['tenant-id'] = tenantId; |
| 45 | } | 45 | } |
| @@ -79,7 +79,6 @@ service.interceptors.response.use(async res => { | @@ -79,7 +79,6 @@ service.interceptors.response.use(async res => { | ||
| 79 | // 获取错误信息 | 79 | // 获取错误信息 |
| 80 | const msg = res.data.msg || errorCode[code] || errorCode['default'] | 80 | const msg = res.data.msg || errorCode[code] || errorCode['default'] |
| 81 | if (ignoreMsgs.indexOf(msg) !== -1) { // 如果是忽略的错误码,直接返回 msg 异常 | 81 | if (ignoreMsgs.indexOf(msg) !== -1) { // 如果是忽略的错误码,直接返回 msg 异常 |
| 82 | - console.log('132312311'); | ||
| 83 | return Promise.reject(msg) | 82 | return Promise.reject(msg) |
| 84 | } else if (code === 401) { | 83 | } else if (code === 401) { |
| 85 | // 如果未认证,并且未进行刷新令牌,说明可能是访问令牌过期了 | 84 | // 如果未认证,并且未进行刷新令牌,说明可能是访问令牌过期了 |
| @@ -166,7 +165,7 @@ service.interceptors.response.use(async res => { | @@ -166,7 +165,7 @@ service.interceptors.response.use(async res => { | ||
| 166 | export function getBaseHeader() { | 165 | export function getBaseHeader() { |
| 167 | return { | 166 | return { |
| 168 | 'Authorization': "Bearer " + getAccessToken(), | 167 | 'Authorization': "Bearer " + getAccessToken(), |
| 169 | - 'tenant-id': Cookies.get('tenantId'), | 168 | + 'tenant-id': getTenantId(), |
| 170 | } | 169 | } |
| 171 | } | 170 | } |
| 172 | 171 |
yudao-ui-admin/src/views/login.vue
| @@ -107,9 +107,17 @@ | @@ -107,9 +107,17 @@ | ||
| 107 | import {getCodeImg, sendSmsCode, socialAuthRedirect} from "@/api/login"; | 107 | import {getCodeImg, sendSmsCode, socialAuthRedirect} from "@/api/login"; |
| 108 | import {getTenantIdByName} from "@/api/system/tenant"; | 108 | import {getTenantIdByName} from "@/api/system/tenant"; |
| 109 | import Cookies from "js-cookie"; | 109 | import Cookies from "js-cookie"; |
| 110 | -import {decrypt, encrypt} from '@/utils/jsencrypt' | ||
| 111 | import {SystemUserSocialTypeEnum} from "@/utils/constants"; | 110 | import {SystemUserSocialTypeEnum} from "@/utils/constants"; |
| 112 | import {getTenantEnable} from "@/utils/ruoyi"; | 111 | import {getTenantEnable} from "@/utils/ruoyi"; |
| 112 | +import { | ||
| 113 | + getPassword, | ||
| 114 | + getRememberMe, getTenantName, | ||
| 115 | + getUsername, | ||
| 116 | + removePassword, removeRememberMe, removeTenantName, | ||
| 117 | + removeUsername, | ||
| 118 | + setPassword, setRememberMe, setTenantId, setTenantName, | ||
| 119 | + setUsername | ||
| 120 | +} from "@/utils/auth"; | ||
| 113 | 121 | ||
| 114 | export default { | 122 | export default { |
| 115 | name: "Login", | 123 | name: "Login", |
| @@ -161,7 +169,7 @@ export default { | @@ -161,7 +169,7 @@ export default { | ||
| 161 | const tenantId = res.data; | 169 | const tenantId = res.data; |
| 162 | if (tenantId && tenantId >= 0) { | 170 | if (tenantId && tenantId >= 0) { |
| 163 | // 设置租户 | 171 | // 设置租户 |
| 164 | - Cookies.set("tenantId", tenantId); | 172 | + setTenantId(tenantId) |
| 165 | callback(); | 173 | callback(); |
| 166 | } else { | 174 | } else { |
| 167 | callback('租户不存在'); | 175 | callback('租户不存在'); |
| @@ -172,8 +180,6 @@ export default { | @@ -172,8 +180,6 @@ export default { | ||
| 172 | } | 180 | } |
| 173 | ] | 181 | ] |
| 174 | }, | 182 | }, |
| 175 | - | ||
| 176 | - | ||
| 177 | loading: false, | 183 | loading: false, |
| 178 | redirect: undefined, | 184 | redirect: undefined, |
| 179 | // 枚举 | 185 | // 枚举 |
| @@ -213,21 +219,16 @@ export default { | @@ -213,21 +219,16 @@ export default { | ||
| 213 | }); | 219 | }); |
| 214 | }, | 220 | }, |
| 215 | getCookie() { | 221 | getCookie() { |
| 216 | - const username = Cookies.get("username"); | ||
| 217 | - const password = Cookies.get("password"); | ||
| 218 | - const rememberMe = Cookies.get('rememberMe') | ||
| 219 | - const tenantName = Cookies.get('tenantName'); | ||
| 220 | - const mobile = Cookies.get('mobile'); | ||
| 221 | - const mobileCode = Cookies.get('mobileCode'); | ||
| 222 | - const loginType = Cookies.get('loginType'); | 222 | + const username = getUsername(); |
| 223 | + const password = getPassword(); | ||
| 224 | + const rememberMe = getRememberMe(); | ||
| 225 | + const tenantName = getTenantName(); | ||
| 223 | this.loginForm = { | 226 | this.loginForm = { |
| 224 | - username: username === undefined ? this.loginForm.username : username, | ||
| 225 | - password: password === undefined ? this.loginForm.password : decrypt(password), | ||
| 226 | - rememberMe: rememberMe === undefined ? false : Boolean(rememberMe), | ||
| 227 | - tenantName: tenantName === undefined ? this.loginForm.tenantName : tenantName, | ||
| 228 | - mobile: mobile === undefined ? this.loginForm.mobile : mobile, | ||
| 229 | - mobileCode: mobileCode === undefined ? this.loginForm.mobileCode : mobileCode, | ||
| 230 | - loginType: loginType === undefined ? this.loginForm.loginType : loginType, | 227 | + ...this.loginForm, |
| 228 | + username: username ? username : this.loginForm.username, | ||
| 229 | + password: password ? password : this.loginForm.password, | ||
| 230 | + rememberMe: rememberMe ? getRememberMe() : false, | ||
| 231 | + tenantName: tenantName ? tenantName : this.loginForm.tenantName, | ||
| 231 | }; | 232 | }; |
| 232 | }, | 233 | }, |
| 233 | handleLogin() { | 234 | handleLogin() { |
| @@ -236,18 +237,18 @@ export default { | @@ -236,18 +237,18 @@ export default { | ||
| 236 | this.loading = true; | 237 | this.loading = true; |
| 237 | // 设置 Cookie | 238 | // 设置 Cookie |
| 238 | if (this.loginForm.rememberMe) { | 239 | if (this.loginForm.rememberMe) { |
| 239 | - Cookies.set("username", this.loginForm.username, {expires: 30}); | ||
| 240 | - Cookies.set("password", encrypt(this.loginForm.password), {expires: 30}); | ||
| 241 | - Cookies.set('rememberMe', this.loginForm.rememberMe, {expires: 30}); | ||
| 242 | - Cookies.set('tenantName', this.loginForm.tenantName, {expires: 30}); | 240 | + setUsername(this.loginForm.username) |
| 241 | + setPassword(this.loginForm.password) | ||
| 242 | + setRememberMe(this.loginForm.rememberMe) | ||
| 243 | + setTenantName(this.loginForm.tenantName) | ||
| 243 | } else { | 244 | } else { |
| 244 | - Cookies.remove("username"); | ||
| 245 | - Cookies.remove("password"); | ||
| 246 | - Cookies.remove('rememberMe'); | ||
| 247 | - Cookies.remove('tenantName'); | 245 | + removeUsername() |
| 246 | + removePassword() | ||
| 247 | + removeRememberMe() | ||
| 248 | + removeTenantName() | ||
| 248 | } | 249 | } |
| 249 | // 发起登陆 | 250 | // 发起登陆 |
| 250 | - console.log("发起登录", this.loginForm); | 251 | + // console.log("发起登录", this.loginForm); |
| 251 | this.$store.dispatch(this.loginForm.loginType === "sms" ? "SmsLogin" : "Login", this.loginForm).then(() => { | 252 | this.$store.dispatch(this.loginForm.loginType === "sms" ? "SmsLogin" : "Login", this.loginForm).then(() => { |
| 252 | this.$router.push({path: this.redirect || "/"}).catch(() => { | 253 | this.$router.push({path: this.redirect || "/"}).catch(() => { |
| 253 | }); | 254 | }); |
yudao-ui-admin/src/views/socialLogin.vue
| @@ -19,7 +19,7 @@ | @@ -19,7 +19,7 @@ | ||
| 19 | </el-tab-pane> | 19 | </el-tab-pane> |
| 20 | </el-tabs> | 20 | </el-tabs> |
| 21 | <div> | 21 | <div> |
| 22 | - <el-form ref="loginForm" :model="loginForm" :rules="LoginRules" class="login-form"> | 22 | + <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> |
| 23 | <!-- 账号密码登录 --> | 23 | <!-- 账号密码登录 --> |
| 24 | <el-form-item prop="username"> | 24 | <el-form-item prop="username"> |
| 25 | <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号"> | 25 | <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号"> |
| @@ -65,16 +65,28 @@ | @@ -65,16 +65,28 @@ | ||
| 65 | <script> | 65 | <script> |
| 66 | import Cookies from "js-cookie"; | 66 | import Cookies from "js-cookie"; |
| 67 | import { encrypt, decrypt } from '@/utils/jsencrypt' | 67 | import { encrypt, decrypt } from '@/utils/jsencrypt' |
| 68 | +import { | ||
| 69 | + getPassword, getRememberMe, | ||
| 70 | + getUsername, | ||
| 71 | + removePassword, | ||
| 72 | + removeUsername, | ||
| 73 | + setPassword, | ||
| 74 | + setRememberMe, | ||
| 75 | + setUsername | ||
| 76 | +} from "@/utils/auth"; | ||
| 77 | +import {getCodeImg} from "@/api/login"; | ||
| 68 | 78 | ||
| 69 | export default { | 79 | export default { |
| 70 | name: "ThirdLogin", | 80 | name: "ThirdLogin", |
| 71 | data() { | 81 | data() { |
| 72 | return { | 82 | return { |
| 83 | + codeUrl: "", | ||
| 84 | + captchaEnable: true, | ||
| 73 | loginForm: { | 85 | loginForm: { |
| 74 | loginType: "uname", | 86 | loginType: "uname", |
| 75 | username: "admin", | 87 | username: "admin", |
| 76 | password: "admin123", | 88 | password: "admin123", |
| 77 | - rememberMe: false, // TODO 芋艿:后面看情况,去掉这块 | 89 | + rememberMe: false, |
| 78 | }, | 90 | }, |
| 79 | loginRules: { | 91 | loginRules: { |
| 80 | username: [ | 92 | username: [ |
| @@ -104,6 +116,7 @@ export default { | @@ -104,6 +116,7 @@ export default { | ||
| 104 | this.getCookie(); | 116 | this.getCookie(); |
| 105 | // 重定向地址 | 117 | // 重定向地址 |
| 106 | this.redirect = this.$route.query.redirect; | 118 | this.redirect = this.$route.query.redirect; |
| 119 | + this.getCode(); | ||
| 107 | // 社交登录相关 | 120 | // 社交登录相关 |
| 108 | this.type = this.$route.query.type; | 121 | this.type = this.$route.query.type; |
| 109 | this.code = this.$route.query.code; | 122 | this.code = this.$route.query.code; |
| @@ -119,16 +132,30 @@ export default { | @@ -119,16 +132,30 @@ export default { | ||
| 119 | }); | 132 | }); |
| 120 | }, | 133 | }, |
| 121 | methods: { | 134 | methods: { |
| 135 | + getCode() { | ||
| 136 | + // 只有开启的状态,才加载验证码。默认开启 | ||
| 137 | + if (!this.captchaEnable) { | ||
| 138 | + return; | ||
| 139 | + } | ||
| 140 | + // 请求远程,获得验证码 | ||
| 141 | + getCodeImg().then(res => { | ||
| 142 | + res = res.data; | ||
| 143 | + this.captchaEnable = res.enable; | ||
| 144 | + if (this.captchaEnable) { | ||
| 145 | + this.codeUrl = "data:image/gif;base64," + res.img; | ||
| 146 | + this.loginForm.uuid = res.uuid; | ||
| 147 | + } | ||
| 148 | + }); | ||
| 149 | + }, | ||
| 122 | getCookie() { | 150 | getCookie() { |
| 123 | - const username = Cookies.get("username"); | ||
| 124 | - const password = Cookies.get("password"); | ||
| 125 | - const rememberMe = Cookies.get('rememberMe') | ||
| 126 | - const loginType = Cookies.get('loginType'); | 151 | + const username = getUsername(); |
| 152 | + const password = getPassword(); | ||
| 153 | + const rememberMe = getRememberMe(); | ||
| 127 | this.loginForm = { | 154 | this.loginForm = { |
| 128 | - username: username === undefined ? this.loginForm.username : username, | ||
| 129 | - password: password === undefined ? this.loginForm.password : decrypt(password), | ||
| 130 | - rememberMe: rememberMe === undefined ? false : Boolean(rememberMe), | ||
| 131 | - loginType: loginType === undefined ? this.loginForm.loginType : loginType, | 155 | + username: username ? username : this.loginForm.username, |
| 156 | + password: password ? password : this.loginForm.password, | ||
| 157 | + rememberMe: rememberMe ? getRememberMe() : false, | ||
| 158 | + loginType: this.loginForm.loginType, | ||
| 132 | }; | 159 | }; |
| 133 | }, | 160 | }, |
| 134 | handleLogin() { | 161 | handleLogin() { |
| @@ -136,11 +163,12 @@ export default { | @@ -136,11 +163,12 @@ export default { | ||
| 136 | if (valid) { | 163 | if (valid) { |
| 137 | this.loading = true; | 164 | this.loading = true; |
| 138 | if (this.loginForm.rememberMe) { | 165 | if (this.loginForm.rememberMe) { |
| 139 | - Cookies.set("username", this.loginForm.username, { expires: 30 }); | ||
| 140 | - Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 }); | 166 | + setUsername(this.loginForm.username) |
| 167 | + setPassword(this.loginForm.password) | ||
| 168 | + setRememberMe(this.loginForm.rememberMe) | ||
| 141 | } else { | 169 | } else { |
| 142 | - Cookies.remove("username"); | ||
| 143 | - Cookies.remove("password"); | 170 | + removeUsername() |
| 171 | + removePassword() | ||
| 144 | } | 172 | } |
| 145 | this.$store.dispatch("SocialLogin2", { | 173 | this.$store.dispatch("SocialLogin2", { |
| 146 | code: this.code, | 174 | code: this.code, |