|
|
|
@ -17,10 +17,10 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 右侧登录表单区 --> |
|
|
|
<!-- 右侧登录表单区 --> |
|
|
|
<div class="login_right"> |
|
|
|
<div class="login_right"> |
|
|
|
<div class="login_header"> |
|
|
|
<!-- <div class="login_header"> |
|
|
|
<i class="el-icon-setting" @click="showSettingsDialog = true"></i> |
|
|
|
<i class="el-icon-setting" @click="showSettingsDialog = true"></i> |
|
|
|
<!-- <i class="el-icon-close" @click="handleClose"></i> --> |
|
|
|
<i class="el-icon-close" @click="handleClose"></i> |
|
|
|
</div> |
|
|
|
</div> --> |
|
|
|
<el-form |
|
|
|
<el-form |
|
|
|
ref="loginForm" |
|
|
|
ref="loginForm" |
|
|
|
:model="loginForm" |
|
|
|
:model="loginForm" |
|
|
|
@ -29,7 +29,8 @@ |
|
|
|
> |
|
|
|
> |
|
|
|
<div class="form-header"> |
|
|
|
<div class="form-header"> |
|
|
|
<div class="role-icon"> |
|
|
|
<div class="role-icon"> |
|
|
|
<img :src="loginForm.avatar" alt="" /> |
|
|
|
<img v-if="loginForm.avatar" :src="loginForm.avatar" alt="" /> |
|
|
|
|
|
|
|
<span v-else>{{ roleIconText }}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<h3 class="title">你好, {{ loginForm.name }}</h3> |
|
|
|
<h3 class="title">你好, {{ loginForm.name }}</h3> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -63,7 +64,7 @@ |
|
|
|
</el-input> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<el-checkbox v-model="loginForm.rememberMe"> 自动登录 </el-checkbox> |
|
|
|
<el-checkbox v-model="loginForm.autoLogin"> 自动登录 </el-checkbox> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<el-button |
|
|
|
<el-button |
|
|
|
@ -82,20 +83,20 @@ |
|
|
|
<el-dialog |
|
|
|
<el-dialog |
|
|
|
title="登录设置" |
|
|
|
title="登录设置" |
|
|
|
:visible.sync="showSettingsDialog" |
|
|
|
:visible.sync="showSettingsDialog" |
|
|
|
width="500px" |
|
|
|
width="310px" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:close-on-click-modal="false" |
|
|
|
> |
|
|
|
> |
|
|
|
<el-form :model="settingsForm" label-width="80px"> |
|
|
|
<el-form :model="systemConfig" label-width="40px"> |
|
|
|
<el-form-item label="地址"> |
|
|
|
<el-form-item label="地址"> |
|
|
|
<el-input v-model="settingsForm.address" placeholder="请输入地址" /> |
|
|
|
<el-input v-model="systemConfig.host" placeholder="请输入地址" /> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="端口"> |
|
|
|
<el-form-item label="端口"> |
|
|
|
<el-input v-model="settingsForm.port" placeholder="请输入端口" /> |
|
|
|
<el-input v-model="systemConfig.port" placeholder="请输入端口" /> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="协议"> |
|
|
|
<el-form-item label="协议"> |
|
|
|
<el-radio-group v-model="settingsForm.protocol"> |
|
|
|
<el-radio-group v-model="systemConfig.protocol"> |
|
|
|
<el-radio label="HTTP">HTTP</el-radio> |
|
|
|
<el-radio label="http">HTTP</el-radio> |
|
|
|
<el-radio label="HTTPS">HTTPS</el-radio> |
|
|
|
<el-radio label="https">HTTPS</el-radio> |
|
|
|
</el-radio-group> |
|
|
|
</el-radio-group> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
</el-form> |
|
|
|
@ -110,8 +111,9 @@ |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
<script> |
|
|
|
import Cookies from "js-cookie"; |
|
|
|
import Cookies from "js-cookie"; |
|
|
|
import { encrypt, decrypt } from "@/utils/jsencrypt"; |
|
|
|
|
|
|
|
import CryptoJS from "crypto-js"; |
|
|
|
import CryptoJS from "crypto-js"; |
|
|
|
|
|
|
|
import { encrypt, decrypt } from "@/utils/jsencrypt"; |
|
|
|
|
|
|
|
import defAva from '@/assets/images/profile.jpg' |
|
|
|
export default { |
|
|
|
export default { |
|
|
|
name: "Login", |
|
|
|
name: "Login", |
|
|
|
data() { |
|
|
|
data() { |
|
|
|
@ -120,9 +122,9 @@ export default { |
|
|
|
roleName: "会诊专家", // 示例:你好, 会诊专家 |
|
|
|
roleName: "会诊专家", // 示例:你好, 会诊专家 |
|
|
|
roleIconText: "家", // 示例:顶部圆形图标文字 |
|
|
|
roleIconText: "家", // 示例:顶部圆形图标文字 |
|
|
|
loginForm: { |
|
|
|
loginForm: { |
|
|
|
username: "hzzjys", |
|
|
|
username: "", |
|
|
|
password: "", |
|
|
|
password: "", |
|
|
|
rememberMe: false, |
|
|
|
autoLogin: false, |
|
|
|
uuid: "", |
|
|
|
uuid: "", |
|
|
|
}, |
|
|
|
}, |
|
|
|
loginRules: { |
|
|
|
loginRules: { |
|
|
|
@ -136,10 +138,10 @@ export default { |
|
|
|
loading: false, |
|
|
|
loading: false, |
|
|
|
redirect: undefined, |
|
|
|
redirect: undefined, |
|
|
|
showSettingsDialog: false, |
|
|
|
showSettingsDialog: false, |
|
|
|
settingsForm: { |
|
|
|
systemConfig: { |
|
|
|
address: "47.92.192.91", |
|
|
|
host: "47.92.192.91", |
|
|
|
port: "8688", |
|
|
|
port: "8080", |
|
|
|
protocol: "HTTP", |
|
|
|
protocol: "http", |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
}; |
|
|
|
}, |
|
|
|
}, |
|
|
|
@ -161,19 +163,23 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
getCookie() { |
|
|
|
getCookie() { |
|
|
|
const name = Cookies.get("name"); |
|
|
|
const name = Cookies.get("name"); |
|
|
|
const avatar = Cookies.get("avatar"); |
|
|
|
const avatar = Cookies.get("avatar") || defAva; |
|
|
|
const username = Cookies.get("username"); |
|
|
|
const username = Cookies.get("username"); |
|
|
|
const password = Cookies.get("password"); |
|
|
|
const password = Cookies.get("password"); |
|
|
|
const rememberMe = Cookies.get("rememberMe"); |
|
|
|
const autoLogin = Cookies.get("autoLogin"); |
|
|
|
|
|
|
|
const config = Cookies.get("systemConfig"); |
|
|
|
|
|
|
|
if (config) { |
|
|
|
|
|
|
|
this.systemConfig = JSON.parse(config); |
|
|
|
|
|
|
|
} |
|
|
|
this.loginForm = { |
|
|
|
this.loginForm = { |
|
|
|
name: name, |
|
|
|
name: name, |
|
|
|
avatar: avatar, |
|
|
|
avatar: avatar, |
|
|
|
username: username === undefined ? this.loginForm.username : username, |
|
|
|
username: username === undefined ? this.loginForm.username : username, |
|
|
|
password: |
|
|
|
password: |
|
|
|
password === undefined ? this.loginForm.password : decrypt(password), |
|
|
|
password === undefined ? this.loginForm.password : decrypt(password), |
|
|
|
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe), |
|
|
|
autoLogin: autoLogin === undefined ? false : Boolean(autoLogin), |
|
|
|
}; |
|
|
|
}; |
|
|
|
if (this.loginForm.rememberMe) { |
|
|
|
if (this.loginForm.autoLogin) { |
|
|
|
this.handleLogin(); |
|
|
|
this.handleLogin(); |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
@ -181,14 +187,14 @@ export default { |
|
|
|
this.$refs.loginForm.validate((valid) => { |
|
|
|
this.$refs.loginForm.validate((valid) => { |
|
|
|
if (valid) { |
|
|
|
if (valid) { |
|
|
|
this.loading = true; |
|
|
|
this.loading = true; |
|
|
|
if (this.loginForm.rememberMe) { |
|
|
|
if (this.loginForm.autoLogin) { |
|
|
|
Cookies.set("avatar", this.loginForm.avatar, { expires: 30 }); |
|
|
|
Cookies.set("avatar", this.loginForm.avatar, { expires: 30 }); |
|
|
|
Cookies.set("name", this.loginForm.name, { expires: 30 }); |
|
|
|
Cookies.set("name", this.loginForm.name, { expires: 30 }); |
|
|
|
Cookies.set("username", this.loginForm.username, { expires: 30 }); |
|
|
|
Cookies.set("username", this.loginForm.username, { expires: 30 }); |
|
|
|
Cookies.set("password", encrypt(this.loginForm.password), { |
|
|
|
Cookies.set("password", encrypt(this.loginForm.password), { |
|
|
|
expires: 30, |
|
|
|
expires: 30, |
|
|
|
}); |
|
|
|
}); |
|
|
|
Cookies.set("rememberMe", this.loginForm.rememberMe, { |
|
|
|
Cookies.set("autoLogin", this.loginForm.autoLogin, { |
|
|
|
expires: 30, |
|
|
|
expires: 30, |
|
|
|
}); |
|
|
|
}); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
@ -196,7 +202,7 @@ export default { |
|
|
|
Cookies.remove("name"); |
|
|
|
Cookies.remove("name"); |
|
|
|
Cookies.remove("username"); |
|
|
|
Cookies.remove("username"); |
|
|
|
Cookies.remove("password"); |
|
|
|
Cookies.remove("password"); |
|
|
|
Cookies.remove("rememberMe"); |
|
|
|
Cookies.remove("autoLogin"); |
|
|
|
} |
|
|
|
} |
|
|
|
this.$store |
|
|
|
this.$store |
|
|
|
.dispatch("Login", { |
|
|
|
.dispatch("Login", { |
|
|
|
@ -221,6 +227,7 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
// 登录设置确定逻辑 |
|
|
|
// 登录设置确定逻辑 |
|
|
|
handleSettingsConfirm() { |
|
|
|
handleSettingsConfirm() { |
|
|
|
|
|
|
|
Cookies.set("systemConfig", JSON.stringify(this.systemConfig)); |
|
|
|
// 这里可以添加保存地址、端口、协议的逻辑 |
|
|
|
// 这里可以添加保存地址、端口、协议的逻辑 |
|
|
|
this.showSettingsDialog = false; |
|
|
|
this.showSettingsDialog = false; |
|
|
|
}, |
|
|
|
}, |
|
|
|
|